我有一长串不同名称的数据框。我想抓住所有 - 并将他们的名字列入清单。
一个简短的例子:
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()
,但我似乎无法使用数据框的名称。
很抱歉,如果这是非常基本的,但我还没有找到答案。
答案 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