【发布时间】:2014-03-07 10:49:30
【问题描述】:
我在 R 中有一个如下所示的数据框:
jiz <- data.frame(Type=c("X","B","B","B","B","X","B"),
Action=c("both","1","2","2","1","both","1"))
Type 是 X 或 B,Action 决定应该对 Type 中的变量采取什么类型的操作(操作 1 或 2)。如果 type 为“X”,则始终执行两个操作,如果 type 为“B”,则执行操作 1 或操作 2。
现在我们添加两列:
jiz[c("1","2")]<-NA
现在,我希望“X”进入两个新列,因为两个操作都已执行,而“B”进入任一新列 - 取决于所采取的操作,这样任何 R 代码都会生成这个新的数据框:
jiz.new <- data.frame(Type=c("X","B","B","B","B","X","B"),
Action=c("both","1","2","2","1","both","1"),
"1"=c("X","B",0,0,"B","X","B"),
"2"=c("X",0,"B","B",0,"X",0))
请注意,如果“B”具有操作 2 - B 被放入新列“2” - 并且 0 被放入新列“1”。
【问题讨论】:
标签: r