我有一个数据表,带有一个键ID和一个带有文本值的列。 密钥ID不是唯一的(某些行共享相同的ID;可能有1到8行具有相同的ID)。我想要一个数据表,具有唯一的密钥ID和8列。R数据表的特殊整形
例如,我有什么:
require(data.table)
set.seed(1)
out<-data.table(id=c(rep("id1",3),rep("id2",2),"id3"),value=paste("value",round(rnorm(6,0,100))))
out
# id value
# 1: id1 value 49
# 2: id1 value 74
# 3: id1 value 58
# 4: id2 value -31
# 5: id2 value 151
# 6: id3 value 39
所需的输出:
data.table(id=c("id1","id2","id3"),value1=c("value -63","value 160","value -82"),value2=c("value 18","value 33",NA),value3=c("value -84",NA,NA))
# id value1 value2 value3
#1: id1 value -63 value 18 value -84
#2: id2 value 160 value 33 NA
#3: id3 value -82 NA NA
(+1)对于初学者来说非常有趣的问题。我希望所有新手都像你一样...... – 2014-10-22 11:51:05