【发布时间】:2012-11-26 11:27:39
【问题描述】:
编辑
我有两个不同长度的数据框:
kframe <- data.frame(One=c("NO123","NO234", "NO345", "NO432"),Two=c("NAME1","NAME2","NAME3","NAME4"), Three=c(1,2,3,4))
lframe <- data.frame(One=c("NO123","NO587", "NO345"),Two=c("N1","N2","N2"), Three=c(2,3,4))
想检查lframe$One[x] 中的值(与x=1:nrow(lframe))是否存在于kframe$One 中,如果为真则替换lframe$Two[x] 中的值,否则什么也不做..
如何做到这一点?
编辑:
或者,换一种说法:如果为真,则将值添加到 $Three...
预期结果:
lframe:
One Two Three
1 NO123 NAME1 3
2 NO587 N2 3
3 NO345 NAME3 7
【问题讨论】:
-
您能否发布一个示例,说明您希望看到的这两个小
data.frames 的输出? -
不清楚你想要什么。您对以下答案的评论使其更加不清楚。
-
抱歉,R 和 stackoverflow 都是新手
-
@Fred 当 lframe$One 与 kframe$One 匹配时,你想用 kframe$Two 替换 lframe$Two 吗?
-
@agstudy: 是(从 1 到 nrow(lframe) 的循环示例:lframe$One[1] 匹配 kframe$One 中的任何值,在本例中为 kframe$One[1],然后 lframe$Two[1]
标签: r function compare dataframe subset