小编reu*_*uss的帖子

如果另一个数据帧中存在组合,则R检查行的行

我试着找出这个问题的答案但没有运气.我在R中有两个数据框(df1和df2),除了两列,一个人数字(pnr)和一个药物名称(名称)之外,有两个不同的信息.在df1中行的行,我想检查,如果pnr和name的组合存在于df2中的某处.如果存在这种组合,我想在df1的另一列中显示"是".如果不是"不".

df1
pnr|drug|...|check
---|----|---|-----
1  | 1  |...| no
1  | 2  |...| yes
2  | 2  |...| yes
3  | 2  |...| no
.....

df2
pnr|drug|...|
---|----|---|
1  | 2  |...|
2  | 2  |...|
....
Run Code Online (Sandbox Code Playgroud)

例如,我想检查,如果行组合pnr = 1&drug = 1存在于df2(否),pnr = 1&drug = 2(是)等等,然后在其中放置"是"或"否"检查df1中的列

我for没有运气就试过以下声明.它确实在"检查"列中放置了"是或否",但它没有正确执行

for(index in 1:nrow(df1)){
   if((df1[index,]$pnr %in% df2$pnr)&(df1[index,]$name %in% df2$name)){
   check_text="yes"}else{check_text="no"}
   df1$check=check_text
}
Run Code Online (Sandbox Code Playgroud)

我有一种感觉,我应该使用apply,但我无法弄明白.你们有没有想法,如何解决这个问题?`

真诚的再见

r multiple-conditions dataframe

3
推荐指数
2
解决办法
5037
查看次数

标签 统计

dataframe ×1

multiple-conditions ×1

r ×1