【发布时间】:2023-08-17 06:00:01
【问题描述】:
这应该很容易,但我找不到正确的方法。
jk <- data.frame(j=c("a","b","a","b"),val=c(1,3,2,1))
我希望 dcast 分别返回带有 {1,2} 和 {3,1} 的两列 a 和 b。
【问题讨论】:
标签: r data.table reshape2
这应该很容易,但我找不到正确的方法。
jk <- data.frame(j=c("a","b","a","b"),val=c(1,3,2,1))
我希望 dcast 分别返回带有 {1,2} 和 {3,1} 的两列 a 和 b。
【问题讨论】:
标签: r data.table reshape2
在base R中,我们可以使用unstack
unstack(jk, val ~ j)
-输出
# a b
#1 1 3
#2 2 1
如果我们使用dcast,创建一个序列列,因为'j'有重复项
library(data.table)
dcast(setDT(jk), rowid(j) ~ j, value.var = 'val')[, j := NULL][]
-输出
# a b
#1: 1 3
#2: 2 1
【讨论】: