我在R中有一个我在苍蝇列表上运行的函数。在下面的代码之后,我将函数应用于文件,并让R将值放在一个新文件中。该函数中的等式输出基于水密度和深度的值。我发现在这些文件中,深度的顶行并不总是1,但是我需要将它作为等式。我希望能够在新工作表中输出“NA”消息,而不是它。
stratindex=function(file){
ctd=read.csv(file,header=T)
x=ctd$Density..sigma.t..kg.m.3..
y=ctd$Depth..salt.water..m...lat...60
if(y[1]!=1){return(NA)} else
((x[30]-x[1]) / 29)
}
这一切都很好。然后我进入下一部分,它将获取单个文件并将函数应用于它们。
the.files <- choose.files()
index <- sapply(the.files, stratindex)
在此之后,R提示:
“if(y [1]!= 1){:缺少值需要TRUE / FALSE时出错”
我哪里出错了?如果找到它们,我该怎么做才能嵌套其他规定?例如,如果第30行的深度不是30。