我想循环并创建几乎无名的数据集。我开始使用数据集df.1
和df.2
,并且以下命令会一直失败:
for (x in 1:2) {
df.x
}
我要做的是创建一个摊销表。这似乎相对容易与for
循环相关,但是每个人似乎都建议在索引数据帧时使用表格。有没有人对我如何工作有任何想法?我对lapply
或任何list
函数非常不熟悉。
答案 0 :(得分:1)
最好手动或通过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)
}
})
毋庸置疑,您不仅限于矢量,这适用于任何对象。
答案 1 :(得分:0)
这对RomanLuštrik的回答有点具体。选择他的帮助。
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