我有一个等式,我想应用于文件列表。该等式基于水深和密度进行计算。所有文件每1米都有数据。当水大于30米(薄片超过30行)时,此方程有效。如果某些文件中有等于或少于30行,如何使用if then语句告诉R插入“0”或“NA”?
这是我的工作代码,用于超过30行的文件。
stratindex2=function(file){
ctd2=read.csv(file)
ctd2=ctd2[-c(1:30),]
x=ctd2$Density..sigma.t..kg.m.3..
row=nrow(ctd2)
(x[row]-x[1])/(row-1)
}
答案 0 :(得分:1)
您可以添加一个返回和一个if:
stratindex2=function(file){
ctd2=read.csv(file)
if(nrow(ctd2)<31){return(NA)}
ctd2=ctd2[-c(1:30),]
x=ctd2$Density..sigma.t..kg.m.3..
row=nrow(ctd2)
(x[row]-x[1])/(row-1)
}