几天前我问过同样的问题(点击这里),但没有提到使用结果data.table
将不胜感激
“聚合解决方案”工作正常,即使它很慢!我正在寻找一种更快的方法来解决这个问题。
我想重塑以下data.frame:
df <- data.frame(x=c("p1","p1","p2"),y=c("a","b","a"),z=c(14,14,16))
df
x y z
1 p1 a 14
2 p1 b 14
3 p2 a 16
所以它看起来像这样:
df2 <- data.frame(x=c("p1","p2"),a=c(1,1),b=c(1,0),z=c(14,16))
x a b z
1 p1 1 1 14
2 p2 1 0 16
变量y
indf
应该被破坏,以便它的元素是新变量,每个虚拟编码。所有其他变量(在本例z
中为 )对于每个人(p1、p2 等)都是相等的。特定人 p 具有不同值的唯一变量是y
。
我想要这个的原因是因为我需要通过变量将此数据集与其他数据集合并x
。问题是,它必须是每人一排(p1
等p2
)。