访问在即时创建的对象中的列名称

时间:2012-11-28 19:32:20

标签: r

我动态创建了一些数据框来保存一些天然气价格数据:

for(i in 1995:2007) {
   assign(paste("gas_data_", i, sep=""), 
          read.csv(paste("NaturalGasCash", i, ".txt", sep="")))
}

现在我需要创建新变量来保存这些数据帧的一列,但我不知道该怎么做,我试过了:

for(i in 1995:2007){
   assign(paste("yields_data_", i, sep=""), 
          as.value(paste("yields_data_", i, "$X6Mo", sep="")))
}

但是现在它只是创建一个带有字符串的变量。

1 个答案:

答案 0 :(得分:3)

一些(未经测试的)示例代码说明了我上面的评论:

#Store all data frames in a list
f <- paste0("NaturalGasCrash",1995:2007,".txt")
df_list <- lapply(f,read.csv)
names(df_list) <- paste0("gas_data_",1995:2007)

#Get just one of the data frames
df_list[["gas_data_2001"]]

#Get just a particular column from each
col <- lapply(df_list,'[[',"X6mo")