if参数:参数的长度为零时出错

时间:2015-05-19 05:14:10

标签: r

我是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){:参数长度为零

时出错

我希望能够在函数的命令行上更改阈值,但大多数情况下,我真的希望它能够正常工作!

任何指导都会受到超级赞赏!

0 个答案:

没有答案