相关疑难解决方法(0)

合并数据帧而不重复行

我想合并两个数据框,但如果有多个匹配则不想复制行.相反,我想在那一天总结观察结果.

来自?merge: 提取两个数据框中与指定列匹配的行,并将它们连接在一起.如果有多个匹配,则所有可能的匹配每个贡献一行.

这是一些示例代码:

days <- as.data.frame(as.Date(c("2012-1-1", "2012-1-2", "2012-1-3", "2012-1-4")))

names(days) <- "Date"
obs.days <- as.data.frame(as.Date(c("2012-1-2", "2012-1-3", "2012-1-3")))
obs.days$count <- 1
colnames(obs.days) <- c("Date", "Count")
df <- merge(days, obs.days, by.x="Date", by.y="Date", all.x=TRUE)
Run Code Online (Sandbox Code Playgroud)

我希望最终的数据框只能列出2012-1-3一次,计数值为2.

r dataframe

10
推荐指数
1
解决办法
2万
查看次数

为什么合并会产生比原始数据更多的行?

当我有merge两个数据帧时,结果的行数比原始数据多.

在这个例子中,所有数据帧有104956行,koppen3968行,alltest数据帧有130335行.通常,alltest应该有等于或小于all的行.

为什么会出现这种通货膨胀?我不确定是否提供可重复的示例会有所帮助,因为它在我之前使用过的实例中起作用.

alltest <- merge(all, koppen, by = "fips", sort = F)
Run Code Online (Sandbox Code Playgroud)

join r

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

r ×2

dataframe ×1

join ×1