列出内存中的 data.tables 并按行组合(rbind)

use*_*907 3 r dataframe rbind data.table

我在内存中有许多 data.tables,其名称遵循特定的模式(例如:RE_1、RE_2...CO_1、CO_2...)。我想有效地绑定它们以获得两个 data.tables(RE 和 CO)。

我试过:

RE <- rbindlist(ls(pattern = "RE"))
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:“rbindlist(ls(pattern = "RE")) 中的错误:rbindlist 的输入必须是 data.tables 列表”。

有没有办法制作这样一个“可用”的 data.tables (或数据框)列表?

Ren*_*rop 5

尝试

rbindlist(lapply(ls(pattern = "RE"),get))
Run Code Online (Sandbox Code Playgroud)

不知道这是否是最有效的方法,但是......它有效。

ls(...)返回一个带有 data.tables 名称的向量。不是 data.tables 本身。get通过名称获取对象。

您还可以使用

rbindlist(mget(ls(pattern = "RE")))
Run Code Online (Sandbox Code Playgroud)