自动将R因子扩展为每个因子级别的1/0指标变量的集合我有一个R数据帧,其中包含我想要“扩展”的因子,因此对于每个因子级别,新数据帧中都有一个关联列,其中包含1/0指示符。例如,假设我有:df.original <-data.frame(eggs = c("foo", "foo", "bar", "bar"), ham = c(1,2,3,4))我想要:df.desired <- data.frame(foo = c(1,1,0,0), bar=c(0,0,1,1), ham=c(1,2,3,4))因为对于某些需要完全数字数据框的分析(例如,主成分分析),我认为这个特性可能是内置的。写一个函数来做这个不应该太难,但我可以预见一些与列名相关的挑战,如果已存在某些内容,我宁愿使用它。
3 回答
慕码人8056858
TA贡献1803条经验 获得超6个赞
使用reshape2包的快速方法:
require(reshape2)
> dcast(df.original, ham ~ eggs, length)
Using ham as value column: use value_var to override.
ham bar foo
1 1 0 1
2 2 0 1
3 3 1 0
4 4 1 0
请注意,这会精确生成所需的列名称。
- 3 回答
- 0 关注
- 536 浏览
添加回答
举报
0/150
提交
取消