在R中合并时丢失行

在R中合并时丢失行,r,merge,rows,R,Merge,Rows,我正在使用包含180K行和27个因子的df1。我在与df2的合并中使用了3个因子(43K obs,10个因子,3个因子与df1匹配)。在df1中,这些行是对TrapLines和TrapNum进行的数月重复观察。有3393个与TrapLines和TrapNum相关的唯一级别。在df2中,TrapLine和Trapnum的Shade按月变化:对于每个TrapLine/Trapnum条目,有12个Shade值。在df2中,有3268个与Trapline/Trapnum相关的唯一级别。我想合并(如果这是

我正在使用包含180K行和27个因子的
df1
。我在与
df2
的合并中使用了3个因子(43K obs,10个因子,3个因子与
df1
匹配)。在
df1
中,这些行是对
TrapLines
TrapNum
进行的数月重复观察。有3393个与
TrapLines
TrapNum
相关的唯一级别。在
df2
中,
TrapLine
Trapnum
Shade
按月变化:对于每个
TrapLine
/
Trapnum
条目,有12个
Shade
值。在
df2
中,有3268个与
Trapline
/
Trapnum
相关的唯一级别。我想合并(如果这是正确的过程)
df1
df2
,这样每月的
Shade
数据就与
df1
中正确的
Trapline
/
TrapNum
相关联

df1:

等等

df2:

等等

我使用了以下代码:

df3 <- merge (df1, df2, by c("TrapLine", "TrapNum", "Month_num"))

df3使用
merge
函数的参数
all
。默认情况下,
all=FALSE
,因此它执行“内部联接”,并删除所有不匹配的观察结果。如果设置
merge(…,all=TRUE)
则有一个“外部联接”,并保留所有观察值。请参见

谢谢您的解决方案!我在路上……暂时。
TrapLine    TrapNum Shade      Month    Month_num
A24         D101    217         Jan      1
A24         D101    201         Feb      2
A24         D101    172         Mar      3
A24         D102    145         Mar      3
A24         D102    97          Apr      4
A24         D102    59          May      5
df3 <- merge (df1, df2, by c("TrapLine", "TrapNum", "Month_num"))