假设我有如下数据:
ID FRUIT
001 apple
002 grape
001 banana
002 apple
003 apple
001 apple
我想用它做列,就像虚拟变量一样。但是,假人是FRUIT
列中变量的计数。因此,如果ID 001
使apple
在FRUIT
列中出现2次,则新列apple
或FRUIT_apple
为2。
预期产出:
ID FRUIT_apple FRUIT_grape FRUIT_banana
001 2 0 1
002 1 1 0
003 1 0 0
没有附加在这些列的名称,任何更容易。
发布于 2022-07-01 20:28:12
使用reshape2
,但您几乎可以使用任何允许您从长到宽重新格式化的包
library(reshape2)
df = dcast(fruitData,ID~FRUIT,length)
> df
ID apple banana grape
1 1 2 1 0
2 2 1 0 1
3 3 1 0 0
https://stackoverflow.com/questions/72836404
复制