一个带有多个id的热编码,大数据帧中的值

时间:2017-11-17 07:00:32

标签: r character-encoding uniqueidentifier

我有一个以下类型的数据框

id  alphabet
20  a
20  b
30  b
30  c

现在,有多个非唯一ID。还有多个非独特的字母表。
我希望结果采用以下格式

id  alphabet_a  alphabet_b  alphabet_c
    20  1           1         0
    30  0           1         1

因此,已根据唯一ID组合了行,并对值(字母表)进行了一次热编码。
如何在大规模数据框架上完成?

1 个答案:

答案 0 :(得分:0)

您可以像这样使用dcast

library(reshape2)

df <- read.table(text = "id  alphabet
             20  a
             20  b
             30  b
             30  c", header = T)

dcast(df, id~alphabet, fun = length)

  id a b c
1 20 1 1 0
2 30 0 1 1