环路输出我[R初学者,下面是我的代码:[R存储在矢量
complete <- function(directory, id = 1:332) {
# Read through all the csv data file
for (i in id) {
i <- sprintf("%03d", as.numeric(i))
data <- read.csv(paste(directory, "/", i, ".csv", sep =""))
good <- complete.cases(data) # Eliminating the NA rows
cases <- sum(good == TRUE) # add complete value
}
data.frame(id = id, nobs = cases)
}
当我打印输出
id nobs
1 1 402
2 2 402
3 3 402
4 4 402
5 5 402 (incorrect)
,如果我只是打印情况
[1] 117
[1] 1041
[1] 243
[1] 474
[1] 402
所以正确的输出应该是
id nobs
1 1 117
2 2 1041
3 3 243
4 4 474
5 5 402
我意识到它只从(案例)中取得最后的价值。
我的问题是如何将(情况)输出存储到向量 ,所以当我调用data.frame函数时,它将返回正确的输出。
感谢
谢谢,你能解释一下 “NULL” 吗? – user1804925
它会在您的工作区中创建一个对象“cases”,它实际上是空的。在for循环中,这个对象'增长'到一个向量。我必须同意@Sven Hohenstein,这不是一个非常有效的解决方案,但是我想保留与你的问题相似的代码。 – EDi