相关矩阵中的NA 表示您的观察中有NA 值(即缺失值)。 cor 的默认行为是返回 NA 的相关性“只要其贡献的观察结果之一是 NA”(来自手册)。
这意味着日期中的单个NA 将给出NA 的相关性,即使您在一千个有用的数据集中只有一个NA。
你可以从这里做什么:
- 您应该调查这些 NA,对其进行计数并确定您的数据集是否包含足够的可用数据。找出哪些变量受 NA 影响以及影响程度。
- 在调用
cor 时添加参数use。通过这种方式,您可以指定算法应如何处理缺失值。查看手册(?cor)以了解您有哪些选择。在你的情况下,我只会使用use="complete.obs"。只有 2 个变量,大多数(但不是全部)选项将产生相同的结果。
更多解释:
age <- 18:35
confidence <- (age - 17) / 10 + rnorm(length(age))
cor(age, confidence)
#> [1] 0.3589942
以上是与所有数据的相关性。现在让我们设置一些 NA 并重试:
confidence[c(1, 6, 11, 16)] <- NA
cor(age, confidence) # use argument will implicitely be "everything".
#> [1] NA
这给出了NA,因为一些置信度值为NA。
下一条语句仍然给出结果:
cor(age, confidence, use="complete.obs")
#> [1] 0.3130549
由reprex package (v2.0.1) 于 2021-10-16 创建