假设我有以下数据框:
Name Type Date Description CorrectionCode
Bob X1 01/01 Desc1 394
Bob X2 01/01 Desc2 9348
Jim X3 03/04 Desc4 934
我如何进入
Name Type Date Description1 CorrectionCode1 Description2 CorrectionCode2
Bob X1 01/01 Desc1 394 Desc2 9348
Jim X3 03/04 Desc4 934
我正在尝试使用tidyR中的spread spread
来执行此操作,但我很乐意使用其他内容。
答案 0 :(得分:3)
您可以从dcast
的开发版试用data.table
,即。 v1.9.5
。安装说明为here
library(data.table)
dcast(setDT(df1)[, c('Type', 'Seq'):= list(Type[1L], 1:.N) , Name],
Name+Type+Date~Seq, value.var=c('Description', 'CorrectionCode'))
# Name Type Date 1_Description 2_Description 1_CorrectionCode
#1: Bob X1 01/01 Desc1 Desc2 394
#2: Jim X3 03/04 Desc4 NA 934
# 2_CorrectionCode
#1: 9348
#2: NA