0

我有一个大数据框

ID  code    N
1    412    2
1    A341   1
1    A520   16
1    47     9
2    283    4
2    412    3 
.......

id 是代表。我要分配的代码是 412 598 A333 和 N heve>3 然后我可以像这样排序表

ID  code_412    code_598  code_A333
1     0             0         0
2     1             0         0
3     0             1         1

如果 ID 有 3 次 code412 或 3 次 code598 或 3 次 codeA333 则将键入 1 否则为 0

4

1 回答 1

1

这个问题很不清楚。ID和的组合是code唯一的吗?每个组合都会出现吗?如果不是,应该如何处理缺失的组合?

我暂时假设,ID并且code不是唯一的并且缺少的组合应该0为相应的条目获得一个。这是使用的解决方案reshape2::dcast

library( "reshape2" )
mdf <- dcast( mdf,  ID ~ code, value.var = "N",
              fun.aggregate=function(x) ifelse( sum(x) < 3, 0, 1 )
            )
colnames( mdf )[-1] <- paste( "code", colnames(mdf)[-1], sep = "_" )

mdf
ID code_283 code_412 code_47 code_A341 code_A520
1  1        0        0       1         0         1
2  2        1        1       0         0         0
于 2013-05-25T14:32:43.553 回答