You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按数字顺序合并R语言中coord1至coord60共60个dataframe?

解决按数字顺序合并coord1-coord60数据框的问题

你遇到的顺序问题是因为ls()返回的变量名按字典序排序,而非数字逻辑顺序,所以coord1之后会先出现coord10-19,再到coord2。以下是两种可行的解决方法:

方法一:直接生成有序变量名(已知范围为1-60时推荐)

直接生成从coord1到coord60的有序名称向量,再按顺序合并:

# 生成1到60的有序变量名
coord_sorted <- sprintf("coord%d", 1:60)
# 按顺序合并数据框
new_df <- do.call("rbind", mget(coord_sorted))

方法二:提取数字排序(变量数量/范围不确定时使用)

先获取所有coord开头的变量名,提取名字中的数字部分并按数字排序,再合并:

# 获取所有coord开头的变量名
coord_names <- ls(pattern = "^coord")
# 提取数字部分转为整数,按数字排序变量名
coord_sorted <- coord_names[order(as.integer(sub("coord", "", coord_names)))]
# 按顺序合并数据框
new_df <- do.call("rbind", mget(coord_sorted))

内容的提问来源于stack exchange,提问作者CorazondeTernera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 20:25:30