我有三个数据集具有相同的索引列(Key),StudentId,并且所有数据集具有相同的观察数,我重复相同数量的观察,但每个观察的列和不同的值不同。
has_many :portfolio_files, -> { order 'portfolio_files.order' }
我不知道为什么当我使用merge或left_merge来组合所有三个数据集时,最终数据集显示的行数多于它应该的人数?
Dataset 1
Id Lab
1 33
. .
2334 98
Dataset 2
Id Sports
1 83
. .
2334 933
Dataset 3
Id Lunch
1 33
. .
2334 238
答案 0 :(得分:1)
如果所有3个数据集的Id
顺序相同,请使用:
res <- cbind(d1,d2,d3)
答案 1 :(得分:0)
没有可重复的示例很难说,但我最好的猜测是Id
变量的值在数据集中略有不同。如果您正在使用dplyr(我假设您使用left_join
),则可以改为使用inner_join()
,它仅合并两个数据集中包含的行。 (但是,最终数据框的行数可能比用于合并的三个数据帧少。)