我是R的新手,我正在尝试为某个文件编写通用函数而不是非常具体的函数。我试图在每个站点对两个变量进行关联,只要其中一个变量高于某个阈值。我的代码如下所示:
turbidity<-function(data, Site = 1:3, threshold) {
dir <-file.path("~", "R")
dat <- data.frame()
corVect<- vector(mode = 'numeric')
for (i in Site) {
dat<-read.csv(files[i])
if (dat$NTU > threshold) {
correlation <- cor(dat$zscore, dat$NTU)
corVect <- c(corVect, correlation)
}
}
return(corVect)
}
turbidity("new.turbid", 1, 5)
我收到了这个错误:
if(dat $ NTU&gt; threshold){:参数长度为零时出错。
当我将其更改为数字而不是阈值时,我得到同样的结果:
turbidity<-function(data, Site = 1:3) {
dir <-file.path("~", "R")
dat <- data.frame()
corVect<- vector(mode = 'numeric')
for (i in Site) {
dat<-read.csv(files[i])
if (dat$NTU > 5) {
correlation <- cor(dat$zscore, dat$NTU)
corVect <- c(corVect, correlation)
}
}
return(corVect)
}
turbidity("new.turbid", 1)
if(dat $ NTU&gt; 5){:参数长度为零
时出错
我希望能够在函数的命令行上更改阈值,但大多数情况下,我真的希望它能够正常工作!
任何指导都会受到超级赞赏!