使用r比较两个数据帧

时间:2019-07-16 22:13:01

标签: r

我是R的新手,对于任何问题,我都表示歉意。 所以,我有两个数据帧。

我的第一个数据框列出了人员列表以及这些人员的种族。如下所示(实际数据的一小部分):

data_frame_1:

name            ethnicity            
Mario Gonzales  hispanic
James R. Santi  white
A. Williams     asian

我的第二个数据框仅包含人员列表。如下所示(实际数据的一小部分)。

data_frame_2:

name
Mark Johnson
A. Williams 
James R. Santi
Kelly Wu

我试图生成一个数据框,其中列出了数据框2中的人及其种族(使用数据框1中的给定信息)。因此,我想要的输出是一个数据框,如下所示:

desired_data_frame_1:

name            ethnicity
A. Williams     asian
James R. Santi  white

我还想创建另一个数据框,该数据框具有在数据框2中找到的唯一名称(在数据框1中找不到的名称)。如下所示:

desired_data_frame_2:

 name
 Mark Johnson
 Kelly Wu

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用setdiff获得不同的名称。

## Data below
setdiff(input2$name, input1$name)
[1] "Mark Johnson" "Kelly Wu"

数据

input2 = read.table(text="name
'Mark Johnson'
'A. Williams' 
'James R. Santi'
'Kelly Wu'",
header=T, stringsAsFactors=F)

input1 = read.table(text="name            ethnicity
'A. Williams'     asian
'James R. Santi'  white",
header=T, stringsAsFactors=F)