【发布时间】:2021-11-01 09:23:31
【问题描述】:
a <- statuses[ID %between% c(59098, 59102), -c('Date')]
b <- restrictions[ID %between% c(59098, 59102), -c('Class', 'Date')]
c <- merge(a, b, by=c('Period', 'ID', 'MedID'), all.x=TRUE, allow.cartesian = TRUE)
d <- merge(statuses[ID %between% c(59098, 59102), -c('Date')],
restrictions[ID %between% c(59098, 59102), -c('Class', 'Date')],
by=c('Period', 'ID', 'MedID'), all.X=TRUE, allow.cartesian = TRUE)
a 有 4 行,b 有 5 行。c 有 7 行(正确),但 d 只有 5 行。
鉴于 c 和 d 基本上是在做相同的合并,它们的行数不应该相同吗?
【问题讨论】:
-
您将需要提供显示问题的可重现数据。否则我们都在猜测。见stackoverflow.com/questions/5963269/…
-
另外,你有一个错字 -
all.X=TRUE而不是all.x=TRUE -
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: r merge data.table