在 R 中合并多个数据帧时如何使用 suffixes 参数?
Posted
技术标签:
【中文标题】在 R 中合并多个数据帧时如何使用 suffixes 参数?【英文标题】:How do I use the suffixes argument when merging multiple dataframes in R? 【发布时间】:2022-01-21 03:18:30 【问题描述】:两个数据集的第一次合并:
Agg_Bpm <- merge(agg_bpm_mean, agg_bpm_median, by = "Group.1", all = TRUE, suffixes = c(".mean",".median"))
输出:
Group.1 x.mean x.median
1 2022484408 80.23686 76
2 2026352035 93.77631 95
3 2347167796 76.72279 73
4 4020332650 82.30058 83
5 4388161847 66.13300 62
现在我想合并另一个数据集:
> agg_bpm_max
Group.1 x
1 2022484408 203
2 2026352035 125
3 2347167796 195
4 4020332650 191
5 4388161847 180
所以我试试这个:
Agg_Bpm <- merge(Agg_Bpm, agg_bpm_max, by = "Group.1", all = TRUE, suffixes = c(c(".mean",".median"),".max"))
可以合并,但是如何正确地为新列添加后缀??
> Agg_Bpm
Group.1 x.mean x.median x
1 2022484408 80.23686 76 203
2 2026352035 93.77631 95 125
3 2347167796 76.72279 73 195
4 4020332650 82.30058 83 191
5 4388161847 66.13300 62 180
【问题讨论】:
【参考方案1】:你可以试试:
Agg_Bpm <- merge(Agg_Bpm, agg_bpm_max, by = "Group.1", all = TRUE, suffixes = c("",".max"))
请下次提供可重现的数据集。您可以使用函数dput(Agg_Bpm)
来做到这一点
【讨论】:
是的,我尝试了很多不同的方法,但无法正确标记它。我决定不使用 suffixes 参数,而是重命名 cols:names(Agg_Bpm) 【参考方案2】:我决定一个简单的解决方案是不使用 suffixes 参数,而是在事后重命名列:
> names(Agg_Bpm) <- c("id","mean","median","max","sd")
> Agg_Bpm
id mean median max sd
1 2022484408 80.23686 76 203 17.59559
2 2026352035 93.77631 95 125 12.61053
3 2347167796 76.72279 73 195 15.51571
4 4020332650 82.30058 83 191 15.91159
5 4388161847 66.13300 62 180 15.84728
【讨论】:
以上是关于在 R 中合并多个数据帧时如何使用 suffixes 参数?的主要内容,如果未能解决你的问题,请参考以下文章
尝试合并多个数据帧时,如何解决“ValueError: If using all scalar values, you must pass an index”
在将其组合到R中的一个数据帧时,在不同的数据帧中保留重复的行名[重复]
当我合并两个数据帧时,如何防止 Pandas 将我的整数转换为浮点数?
TypeError: unhashable type: 'numpy.ndarray' 合并来自 BigQuery 的 pandas 数据帧时