我有两个数据集dataset1
Id A B
1 Y N
2 N N
3 Na Na
4 Y Y
数据集2
Id A C
1 Y Y
2 N Y
3 Na N
4 Y N
我正在尝试根据它们的ID列连接这两个数据集,并生成像这样的数据集
Id A B C
1 Y N Y
2 N N Y
3 Na Na N
4 Y Y N
当我尝试使用left_join(dataset1,datase2,by =“ID”)时,我会获得比预期更多的行,比如
Id A B C
1 Y N Y
2 N N Y
2 N
3 Na Na N
3 N
4 Y Y N
当我进行合并时,合并(dataset1,dataset2)相反,我得到的行数较少,有人可以告诉我哪里出错了,抱歉这让我发疯了。
答案 0 :(得分:1)
以下是我的试用版。
df1 <- data.frame(Id = 1:4,
A = c("Y","N",NA,"Y"),
B = c("N","N",NA,"Y"))
df2 <- data.frame(Id = 1:4,
A = c("Y","N",NA,"Y"),
C = c("Y","Y","N","N"))
merge(df1, df2, by="Id")
Id A.x B A.y C
1 1 Y N Y Y
2 2 N N N Y
3 3 <NA> <NA> <NA> N
4 4 Y Y Y N
您可以从left_join(dataset1, datase2, by="ID")
重试left_join(dataset1, datase2, by="Id")
。