【发布时间】:2015-12-04 15:48:37
【问题描述】:
我对 rbind 数据集有疑问。
例如数据集名称是这样的:
data_1, data_2, data_3,...,data_100
数据集编号不固定。有时是 100,有时是 250。
我的方法是写每个数据集(a <- rbind(data_1, data_2, ... , data_100)。
我想为使用循环制作函数,但我做不到。
【问题讨论】:
我对 rbind 数据集有疑问。
例如数据集名称是这样的:
data_1, data_2, data_3,...,data_100
数据集编号不固定。有时是 100,有时是 250。
我的方法是写每个数据集(a <- rbind(data_1, data_2, ... , data_100)。
我想为使用循环制作函数,但我做不到。
【问题讨论】:
我们可以在ls 中使用pattern 参数来获取与模式匹配的对象名称作为字符串,然后我们使用mget 来获取list 中的值,最后是rbind @987654326带有do.call 的@元素。
lst <- mget(ls(pattern='data_\\d+'))
do.call(rbind, list)
或者我们可以使用rbindlist
library(data.table)
rbindlist(lst)
或bind_rows 来自dplyr
library(dplyr)
bind_rows(lst)
【讨论】: