取一个子集并创建一个新的数据框

Take a subset and create a new dataframe

id    <- c('1','1','1','2','2','3')
name  <- c('myfile_1','myfile_2','myfile_4','myfile_1','myfile_2','myfile_3')
count <- c(5,4,2,1,3,1)
input <- data.frame(id, name, count)

将数据框作为前一个数据框的输入。

id     name count
 1 myfile_1     5
 1 myfile_2     4
 1 myfile_4     2
 2 myfile_1     1
 2 myfile_2     3
 3 myfile_3     1

怎么可能有这样的新数据框:

id myfile_1 myfile_2 myfile_3 myfile_4
1    5        4         0        2
2    1        2         0        0
3    0        0         1        0    
library(tidyverse);
input %>%
   spread(name, count, fill = 0);
#  id myfile_1 myfile_2 myfile_3 myfile_4
#1  1        5        4        0        2
#2  2        1        3        0        0
#3  3        0        0        1        0

有关 long-to-wide 转换的更多详细信息(除了重复标志中给出的 link 之外)可以在 here.

中找到