首页 > 解决方案 > 我是否需要遍历 R 中的向量元素来计算相关性?

问题描述

我创建了两个向量并“清理”了数据。我希望循环遍历每个向量中的每个元素,以便计算每对的相关性并存储在第三个向量中。

我能够看到每个元素并打印 - 但是,cor() 函数正在产生 NA 的结果。

代码如下,任何建议表示赞赏。

corr <- function(directory, threshold = 0) {
  files_list <- list.files(directory, full.names = TRUE)

  dat <- data.frame()
  cleandat <- data.frame()
  correlation <- c()

  for (count in 1:length(files_list)) {
    dat <- rbind(dat, read.csv(files_list[count]))
    cleandat <- dat[complete.cases(dat),]
  }

  if (nrow(cleandat) <= threshold) {
    print("Nope.")
  } else {
    sulfate_data <- cleandat$sulfate
    nitrate_data <- cleandat$nitrate

    for (element in 1:length(sulfate_data)) {
      print("Sulfate: ")
      print(sulfate_data[element])
      print("Nitrate: ")
      print(nitrate_data[element])
      print(cor(sulfate_data[element], y = nitrate_data[element]))
      correlation <- cor(sulfate_data[element], y = nitrate_data[element])

    }
  }
  print(correlation)
} #end corr()

标签: rvectorization

解决方案


推荐阅读