dcast
からdata.table
を使用できます。 'data.frame'を 'data.table'(setDT(df1)
)に変換し、次にdcast
シーケンスID(rowid
- data.table
から 'Name'変数のために行います)を作成して、データセットを 'ワイド'フォーマットに変換し、式では、事故によって、または最初の値astheお好き `Log3`をしたSergという名前の行のために、 "イベント"
library(data.table)
dcast(setDT(df1)[order(Name, Time)], Name ~ rowid(Name), value.var = "Event")
# Name 1 2 3
#1: Nate Log1 Log2 Log5
#2: Serg Log3 Log1 NA
またはあなたのdesider出力でtidyverse
library(dplyr)
library(tidyr)
df1 %>%
group_by(Name) %>%
arrange(Name, Time) %>%
mutate(ind = row_number()) %>%
select(-Time) %>%
spread(ind, Event)
# Name `1` `2` `3`
#* <chr> <chr> <chr> <chr>
#1 Nate Log1 Log2 Log5
#2 Serg Log3 Log1 <NA>
を使用するなど
value.var
を指定しますわざと? – sgp667パターンが表示されません – sgp667