在R中合并数据集
我正在尝试合并表a和表b的两个数据集。这是为了长远的目的,我创造了时间不变的变量,如性别和教育类型在R中合并数据集,r,merge,dplyr,R,Merge,Dplyr,我正在尝试合并表a和表b的两个数据集。这是为了长远的目的,我创造了时间不变的变量,如性别和教育类型 joinedaandb <- full_join(tbl_df(tablea), tbl_df(tableb), by = "pidp") 这是什么意思?我如何得到它,使它匹配变量,比如tablea和tableb中的性别,在新的数据框架中匹配到一个单一变量 Cheers使用连接(合并)您有两个列选项: (a) 您在列上进行联接——将其包含在by参数中——每个表中的值都将进行比较,并且必
joinedaandb <- full_join(tbl_df(tablea), tbl_df(tableb), by = "pidp")
这是什么意思?我如何得到它,使它匹配变量,比如tablea和tableb中的性别,在新的数据框架中匹配到一个单一变量
Cheers使用连接(合并)您有两个列选项:
- (a) 您在列上进行联接——将其包含在
参数中——每个表中的值都将进行比较,并且必须相等才能联接到要联接的行by
- (b) 您不在列上进行联接(不包括在
参数中),也不假设值是否相等。每个数据帧中的列都将单独包含,由您来处理它们by
full\u join
电话。这意味着将它们通过放入到您的完全加入
中。如果将by
参数保留为空,dplyr
的默认值将假定您希望匹配具有相同名称的所有列。当您指定一个by
参数时,将不再进行任何假设,出现在两个数据帧中但未出现在by
参数中的任何列将分别保留,并附加.x
和.y
以便您可以区分源。带连接(合并)列有两个选项:
- (a) 您在列上进行联接——将其包含在
参数中——每个表中的值都将进行比较,并且必须相等才能联接到要联接的行by
- (b) 您不在列上进行联接(不包括在
参数中),也不假设值是否相等。每个数据帧中的列都将单独包含,由您来处理它们by
如果你想让他们匹配,你需要告诉你的
full\u join
电话。这意味着将它们通过放入到您的完全加入
中。如果将by
参数保留为空,dplyr
的默认值将假定您希望匹配具有相同名称的所有列。当您指定了一个by
参数时,将不再进行任何假设,并且出现在两个数据帧中但未出现在by
参数中的任何列都将单独保留,添加.x
和.y
后,您可以区分来源。您可能并不真正想要一个完全加入
,它明确表示。。。“从x和y返回所有行和列”您可能并不真正想要一个full_join
,它明确表示。。。“返回x和y中的所有行和列”
pidp <dbl> 280165, 541285, 541965, 665045, 956765, 987365, 1558565, 1833965, 229…
$ sex.x <fct> female, male, female, male, male, female, female, male, male, female,…
$ edtype.x <fct> proxy, proxy, proxy, inapplicable, proxy, proxy, at higher education …
$ age.x <fct> 32, 25, 23, 29, 56, 21, 18, 46, 36, 17, 29, 22, 28, 57, 20, 33, 27, 6..
$ sex.y : Factor w/ 7 levels "missing","inapplicable",..: 7 6 NA 6 NA NA NA 6 6 NA ...
$ edtype.y : Factor w/ 10 levels "missing","inapplicable",..: 3 3 NA 2 NA NA NA 3 3 NA ...
$ age.y : Factor w/ 91 levels "missing","inapplicable",..: 23 16 NA 20 NA NA NA 37 26 NA ...