我有两个这样的数据框:
df1:
Letter Value
A 5
C 2
E 3
和df2:
Letter
A
B
C
D
E
我想查找df2中的Letter与df1中的Letter不匹配的情况,并在这种情况下,将df2中的Letter添加到df1中,并将其值设置为0。
所以:
Letter Value
A 5
B 0
C 2
D 0
E 3
任何帮助都会很棒。我一点也不擅长R。
编辑: 我尝试了类似的方法,但是它不起作用:
for (i in df1$Name){
for (j in df2$Name){
if(strcmpi(i, j)){
# do nothing
} else{
rbind(df1, df2[i,])
}
}
}
答案 0 :(得分:1)
df2 $Value <- ifelse (df2$Letter %in% df1$Letter, # condition
df1$Value[match(df2$Letter,df1$Letter)], #value if TRUE
0) # itherwise
df2
Letter Value
1 A 5
2 B 0
3 C 2
4 D 0
5 E 3
match函数用于返回其他向量的索引,其长度与第一个参数一样长。