我有两个
data.frame
s
aa
和
bb
:
aa <- data.frame(ID = c(rep(letters[1:4]),"d","d", "e","e"), Name = c("Dave", "Charlie", "Ella", NA,"Timothy","James",NA, "Bob"))
aa
ID Name
1 a Dave
2 b Charlie
3 c Ella
4 d <NA>
5 d Timothy
6 d James
7 e <NA>
8 e Bob
bb <- data.frame(ID = rep(letters[1:5]),Name = 0)
bb
ID Name
1 a 0
2 b 0
3 c 0
4 d 0
我想填补
bb$Name
通过匹配
bb$ID
具有
aa$ID
因此,我得到了字母表中最早的名字(在这种情况下)
James
):
ID Name
1 a Dave
2 b Charlie
3 c Ella
4 d James
5 e Bob
然而,如果我尝试
bb$Name <- aa[match(bb$ID,aa$ID),2]
我得到:
bb
ID Name
1 a Dave
2 b Charlie
3 c Ella
4 d <NA>
5 e <NA>
您是否认为一些if语句代码是这样的:如果
aa$ID
,如果其中一个值为
NA
,然后选择要匹配的字母顺序较早的字母。所以
d
詹姆斯
aa$Name
有
NA
价值是重要的