R if()语句中的任何内容都不起作用
我很难弄清楚为什么我的R if()语句中的任何内容都不起作用,r,R,我很难弄清楚为什么我的if()语句中什么都不起作用。我从中得到的只是一个值,或者根本没有值,我期望每次满足条件时得到一个包含多个值的向量 corr <- function(directory, threshold = 0, a = 0) { y <- vector() for(i in 332) { x <- read.csv(paste("D:\\", directory, "\\", formatC(i, width = 3, flag = "0"), ".
if()
语句中什么都不起作用。我从中得到的只是一个值,或者根本没有值,我期望每次满足条件时得到一个包含多个值的向量
corr <- function(directory, threshold = 0, a = 0) {
y <- vector()
for(i in 332) {
x <- read.csv(paste("D:\\", directory, "\\", formatC(i, width = 3, flag = "0"), ".csv", sep = ""))
z <- x[complete.cases(x),]
n <- cor(z$sulfate,z$nitrate)
if(nrow(z) > threshold) {
a <- a + 1
y[a] <- n
}
}
return(y)
}
corr一个可重复的示例会使这变得更容易,但一个问题是您的for
循环只运行了一次。看一个简化的例子
for (i in 332) {
print(i)
}
## [1] 332
试着这样做,它实际上会循环从1到332的所有值
for (i in seq_len(332)) {
## the rest of your code here
}
或
请提供可复制的数据集。检查
for (i in 1:332) {
## the rest of your code here
}