我应该按R顺序编写一个函数来计算“硝酸盐”和“硫酸盐”的两种污染物之间的相关性。当每个文件的完整案例数超过指定的阈值时,有332个单独的CSV文件,这是我到目前为止所得到的,但是当我运行它而不是向量时,我会得到NA答案。我非常感谢任何帮助,谢谢
corr <- function(directory, threshold=0) {
data <- setwd("C:\\Users.....specdata")
files <-list.files(data, full.names=FALSE)
nobs <- c()
threshold <- c()
correlation_list <- c()
for (i in 1:332){
dat <- read.csv(files[i], sep=",")
complete_cases <- dat[complete.cases(dat),]
nobs <- c(nobs,nrow(complete_cases))
good <- complete_cases [(nobs> threshold),]
#if (nobs> threshold) {
correlation_list <- c(correlation_list, cor(good["nitrate"], good["sulfate"]))
#}
return(correlation_list)
}
答案 0 :(得分:1)
相关性是协方差除以方差,因此如果您的某个维度的方差为零,则会得到除以零的值。