R - 将所有对象放入列表中 - 使用名称

时间:2014-11-13 13:08:35

标签: r list

我有一长串不同名称的数据框。我想抓住所有 - 并将他们的名字列入清单。

一个简短的例子:

sun.data  <- data.frame(matrix(rexp(500, rate=.1), ncol = 5))
wind.data <- data.frame(matrix(rexp(250, rate=.1), ncol = 4))
power.data <- data.frame(matrix(rexp(400, rate=.1), ncol = 3))

mylist <- list(power.data = power.data, sun.data = sun.data, wind.data = wind.data)

而不是:

mylist <- list(power.data, sun.data, wind.data) 
# or
mylist <- list(get(ls()))

因为我在运行一些函数并打印它们之后需要这些名称。

我尝试摆弄get()ls(),但我似乎无法使用数据框的名称。

很抱歉,如果这是非常基本的,但我还没有找到答案。

1 个答案:

答案 0 :(得分:4)

使用mget

示例:

sun.data <- data.frame(matrix(1:4, ncol = 2))
wind.data <- data.frame(matrix(1:6, ncol = 3))
power.data <- data.frame(matrix(1:8, ncol = 4))
mylist <- mget(ls(pattern = "\\.data"))
mylist
# $power.data
#   X1 X2 X3 X4
# 1  1  3  5  7
# 2  2  4  6  8
# 
# $sun.data
#   X1 X2
# 1  1  3
# 2  2  4
# 
# $wind.data
#   X1 X2 X3
# 1  1  3  5
# 2  2  4  6