将数据框添加到构造名称

时间:2010-07-29 09:33:41

标签: r

我有这个

  

for(i in 1:10)

在其中,我有一个数据框: e.g。

df<-1:100

我希望将数据框分配给我想要创建的特定名称

类似的东西:(不是它有效)

paste("name", variable[i])<- df

编辑:

然后我将如何在另一个循环中访问这些构造的值(假设我已经使用了assign)

    datalist <- paste("a",1:100,sep="")
    for (i in 1:length(datalist)){

}

2 个答案:

答案 0 :(得分:7)

我建议assign,如下所示:

for(i in 1:100){
  df <- data.frame(x = rnorm(10),y = rpois(10,10))
  assign(paste('df',i,sep=''),df)
}

答案 1 :(得分:0)

您可以将循环的输出存储在列表中:

set.seed(10)
x = list()

for(i in 1:10){
  x[[i]] <- data.frame(x = rnorm(100), y = rnorm(100))
  }

然后x将是长度为10的列表,列表中的每个元素都是dim c(100,2)

> length(x)
[1] 10
> dim(x[[1]])
[1] 100   2
> 

当然,您也可以为列表中的元素命名:

names(x) = letters[1:10]

x[["a"]]


              x           y
1    0.01874617 -0.76180434
2   -0.18425254  0.41937541
3   -1.37133055 -1.03994336
4   -0.59916772  0.71157397
5    0.29454513 -0.63321301
6    0.38979430  0.56317466
...