如何将 data.table
(长格式)转换为宽格式而不使用像 sum
或 mean
这样的函数?我正在查看 dcast/melt/reshape 等方法,但是没有得到期望的结果。
这是我的数据:
DT <- data.table(id = c("1","1","2","3"), score = c("5", "4", "5", "6"))
Original format:
> DT
id score
1 5
1 4
2 5
3 6
期望格式:
id score1 score2
1 5 4
2 5 NA
3 6 NA
现在我用以下方法来解决:
DT <- DT[, list(list(score)), by=id]
但是第一个单元格的内容是这样的:
c("5", "4")
我需要对它进行拆分(我使用 splitstackshape
包):
DT <- cSplit(DT, "V1", ",")
这可能不是最高效的方法...有更好的方式吗?