创建大型数据帧集的命名列表R.

时间:2016-09-15 07:31:32

标签: r

这可能是一个微不足道的问题,因为我只有几天使用R的经验,但基本上我想创建一个命名的数据框列表。我看过很多问题和答案只涉及2个数据框,例如

dataList <- list(x=data.frame1, y=data.frame2)

然而,我正在使用这个程序中的48个数据帧,并想知道一个更优雅的方法来创建48个元素的命名列表,而不实际明确命名我的所有48个数据帧(这是我目前的得到了):

dataList <- list(forecasted.data0=forecasted.data0, forecasted.data1=forecasted.data1, ...)等等46次。

2 个答案:

答案 0 :(得分:3)

使用namessetNames功能

> x <- as.list(rnorm(5))
> x
[[1]]
[1] -1.404512

[[2]]
[1] 0.927126

[[3]]
[1] 1.055555

[[4]]
[1] -1.718295

[[5]]
[1] 0.5154312

> names(x) <- paste0("forecasted.data.", seq(0, length(x) - 1))
> x
$forecasted.data.0
[1] -1.404512

$forecasted.data.1
[1] 0.927126

$forecasted.data.2
[1] 1.055555

$forecasted.data.3
[1] -1.718295

$forecasted.data.4
[1] 0.5154312

答案 1 :(得分:1)

这会有用吗?

forecasted.data0=data.frame(1)
forecasted.data1=data.frame(2)

n=ls()[grepl("^forecasted.data.*",ls())]
l=sapply(n, function(x) get(x))
names(l)=n

如果您愿意,可以用lapply替换sapply ......