相关疑难解决方法(0)

使用data.table包重塑数据

我几天前问了同样的问题(点击这里),但没有提到使用的结果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
Run Code Online (Sandbox Code Playgroud)

所以它看起来像这样:

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
Run Code Online (Sandbox Code Playgroud)

变量yin df应该被打破,以便它的元素是新的变量,每个都是伪编码的.所有其他变量(在这种情况下只是z)对于每个人(p1,p2等)是相等的.特定人物p具有不同值的唯一变量是y.
我想要这个的原因是因为我需要通过变量将此数据集与其他数据集合并x.事情是,它需要每人一行(p1,p2等).

r data.table

3
推荐指数
1
解决办法
567
查看次数

标签 统计

data.table ×1

r ×1