r - 将数据框添加为列表元素(用于循环)

标签 r list for-loop dataframe

我的环境中有一系列称为EOG的数据框。从2006年到2012年,每年都有一个。像EOG2006,EOG2007 ... EOG2012。我想将它们添加为列表的元素。

首先,我想知道这是否可能。我阅读了官方的R指南和一些R编程手册,但没有找到明确的示例。

其次,我想使用一个for循环来做到这一点。不幸的是,我曾经做过的代码是错误的,我快要修复它了。

for (j in 2006:2012){
z<-j
sEOG<-paste("EOG", z, sep="")
dEOG<-get(paste("EOG", z, sep=""))
lsEOG<-list()
lsEOG[[sEOG]]<-dEOG
}


这将返回一个包含一个元素的列表。错误在哪里?

最佳答案

您一直在循​​环内重新初始化列表。您需要将lsEOG<-list()移到for循环之外。

lsEOG<-list()

for (j in 2006:2012){
  z <- j
  sEOG <- paste("EOG", z, sep="")
  dEOG <- get(paste("EOG", z, sep=""))
  lsEOG[[sEOG]] <-dEOG
}


另外,您可以直接在j函数中使用paste

sEOG <- paste("EOG", j, sep="")

关于r - 将数据框添加为列表元素(用于循环),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19791760/

相关文章:

java - 如何不在循环的阶乘表达式末尾打印乘号?

java - Foreach 循环语法错误

r - 重新启动的组计数器(使用 R data.table)

r - 2 基于一个 Shiny 的小部件在 Rmarkdown 中并排绘制

r - data.table "out of range",如何将值添加到新行

r - Cloudera RImpala 连接不工作

python - 如何在 Python 的一行中将多个值添加到列表中?

python - 在 python 中只能检索一次压缩值吗?

Java - 如何在for循环中修改数组并在for循环退出后记住它?

string - 连接函数在哪里?