自動將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))因為對于某些需要完全數字數據框的分析(例如,主成分分析),我認為這個特性可能是內置的。寫一個函數來做這個不應該太難,但我可以預見一些與列名相關的挑戰(zhàn),如果已存在某些內容,我寧愿使用它。
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 關注
- 572 瀏覽
添加回答
舉報
0/150
提交
取消