R 通过同名数据集循环

R 通过同名数据集循环,r,loops,lapply,R,Loops,Lapply,我想循环并创建几乎相同名称的数据集。我从数据集df.1和df.2开始,以下命令一直失败: for (x in 1:2) { df.x } 我想做的是创建一个摊销表。对于for循环来说,这似乎相当容易,但似乎每个人都建议在索引数据帧时使用表。有人对我如何处理这件事有什么想法吗?我对lappy或任何list函数都非常不熟悉。您最好手动或通过ls()来查找data.frames,将它们放在列表中,然后从那里开始工作 x <- 1:5 y <- letter

我想循环并创建几乎相同名称的数据集。我从数据集
df.1
df.2
开始,以下命令一直失败:

for (x in 1:2) {
        df.x
        }

我想做的是创建一个摊销表。对于
for
循环来说,这似乎相当容易,但似乎每个人都建议在索引数据帧时使用表。有人对我如何处理这件事有什么想法吗?我对
lappy
或任何
list
函数都非常不熟悉。

您最好手动或通过
ls()
来查找data.frames,将它们放在列表中,然后从那里开始工作

x <- 1:5
y <- letters[x]
z <- c(T, T, T, T, F)

# put the elements into a list
your.list <- lapply(ls(), FUN = get)

# calculate length of each list element
lapply(your.list, FUN = length)

# anonymous function
lapply(your.list, FUN = function(bla) {
    if (is.numeric(bla)) {
        return(sum(bla))
    } else {
        return(NA)
    }
})

x这与罗曼·卢什特里克的回答有点特殊。如果有帮助,请选择他的

df.1 <- data.frame(var = c(1,2))
df.2 <- data.frame(var = c(2,3))

for(i in 1:2) {
    data <- get(paste("df.",i,sep=""))
    print(data)
}
  var
1   1
2   2
  var
1   2
2   3
df.1