我试图从第一个数据帧中消除第二个数据帧中具有特定值的所有行。
使用 R 编程语言进行统计数据分析。
这是我在这里发布的第一个问题,请多多包涵;)
我使用机密数据,所以我用一个例子重新创建了这个问题。
Name=c("Bussieres", "Nelson")
Fname=c("Paul", "Robert")
Tel=c(123,234)
comp1=data.frame(Name, Fname, Tel)
Name=c("Bussieres","Bussieres","Nelson","Nelson")
Fname=c("Robert","Paul","Paul","Paula")
Tel=c(123,234,345,456)
comp2=data.frame(Name, Fname, Tel)
comp1 返回:
Name Fname Tel
1 Bussieres Paul 123
2 Nelson Robert 234
comp2 返回:
Name Fname Tel
1 Bussieres Robert 123
2 Bussieres Paul 234
3 Nelson Paul 345
4 Nelson Paula 456
现在,我想要返回 comp1 中“Name”和“Fname”在 comp2 中不相同的行。
存储在新数据帧 comp3 中的预期回报将是(此处进行了轻微编辑,发布了错误的预期结果):
Name Fname Tel
1 Nelson Robert 234
我的第一次尝试是使用 match 功能,但这并不奏效。
下面的 for 循环尝试也没有奏效。
for (i in comp1[,"Name"]){for (j in comp3[,"Name"]){if i!=j return comp3=x1["Name"==i,]}}
我很惊讶我在 R 中找不到基本(原始)函数来执行此操作,因为从数据集中排除某些观察结果将是一个非常常规的过程。