到data.frame列添加特定的值,我有两个data.frames:通过模式匹配的
pattern <- data.frame(pattern = c("A", "B", "C", "D"), val = c(1, 1, 2, 2))
match <- data.frame(match = c("A", "C"))
我要添加到我的data.frame模式称为new_val另一列,并为其分配“X”来每一行,其中对于列图案的值是在data.frame匹配否则分配 “Y”
is.element(pattern$pattern, match$match)
[1] TRUE FALSE TRUE FALSE
所以,所得到的data.frame应该像:
pattern val new_val
1 A 1 X
2 B 1 Y
3 C 2 X
4 D 2 Y
我实现了与一个丑陋的for循环做,但我相信这可以在使用花哨的东西一个一个线R命令几乎完成:-)
有没有人能帮忙吗?
非常感谢!
做得好机器人安装! – 2012-07-16 14:25:01
确实!这两种解决方案都是优秀的R代码,而且def优于for-loop解决方案。非常感谢! – user969113 2012-07-16 15:33:50