如何在循环中调用不同的数据帧?

时间:2017-02-09 14:04:57

标签: r loops for-loop seq

我有7个数据框叫做:

"muestra_suplentes_103"
"muestra suplentes_108"
"muestra_suplentes_109"
"muestra_suplentes_113"
"muestra_suplentes_114"
"muestra_suplentes_138"
"muestra suplentes_139"

我还有一个名为:

的向量
cod_jer_groups= 103 108 109 113 114 138 139

我需要为此数据框执行此操作:

muestra_suplentes_103$nrow=seq(from = 1, to = nrow(muestra_suplentes_103), by = 1)
muestra_suplentes_108$nrow=seq(from = 1, to = nrow(muestra_suplentes_108), by = 1)
muestra_suplentes_109$nrow=seq(from = 1, to = nrow(muestra_suplentes_109), by = 1)
muestra_suplentes_113$nrow=seq(from = 1, to = nrow(muestra_suplentes_113), by = 1)
muestra_suplentes_114$nrow=seq(from = 1, to = nrow(muestra_suplentes_114), by = 1)
muestra_suplentes_138$nrow=seq(from = 1, to = nrow(muestra_suplentes_138), by = 1)
muestra_suplentes_139$nrow=seq(from = 1, to = nrow(muestra_suplentes_139), by = 1)

我正在努力做到这一点:

for(i in cod_jer_groups){
   muestra_suplentes$nrow= seq(from = 1, to = nrow(muestra_suplentes_i, by =  1))
   names(muestra_suplentes)[length(names(muestra_suplentes))]="nrow"
  }

我知道这是错误的调用“muestra_suplentes_i”,但我不知道该怎么做。

任何消化?

谢谢!

1 个答案:

答案 0 :(得分:1)

这就是我要做的事。

# put the data.frames into a named list, where names correspond to data.frame names
myList <- mget(ls(pattern="^muestra_suplentes")

# fill in the column values
myList <- lapply(myList, function(i) within(i, rowNum <- seq_len(nrow(i))))

要了解更多有关将data.frames放入行的原因,请查看gregor对this post的回答。