0

我动态创建了一些数据框来保存一些关于汽油价格的数据:

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="")))
}

但现在它只是创建了一个包含字符串的变量。

4

1 回答 1

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")
于 2012-11-28T19:46:02.317 回答