为了简化,我有一个数据集如下:
b <- 1:6
# > b
# [1] 1 2 3 4 5 6
jnk <- c(2, 4, 5, NA, 7, 9)
# > jnk
# [1] 2 4 5 NA 7 9
Run Code Online (Sandbox Code Playgroud)
当我尝试:
cor(b, jnk, na.rm=TRUE)
Run Code Online (Sandbox Code Playgroud)
我明白了:
> cor(b, jnk, na.rm=T)
Error in cor(b, jnk, na.rm = T) : unused argument (na.rm = T)
Run Code Online (Sandbox Code Playgroud)
我也试过na.action = na.exclude
,等似乎没有用.知道问题是什么以及如何解决它真的很有帮助.谢谢.
Spa*_*man 38
TL; DR: 改为使用:
cor(b, jnk, use="complete.obs")
Run Code Online (Sandbox Code Playgroud)
阅读?cor
:
cor(x, y = NULL, use = "everything",
method = c("pearson", "kendall", "spearman"))
Run Code Online (Sandbox Code Playgroud)
它没有na.rm
,它有use
.
一个可选的字符串,给出了一种在存在缺失值的情况下计算协方差的方法.这必须是字符串中的一个(的缩写)
"everything"
,"all.obs"
,"complete.obs"
,"na.or.complete"
,或"pairwise.complete.obs"
.
选一个.什么做每一个细节的Details
部分?cor
.
小智 6
只是为了确保这个问题的答案是明确的。
要忽略 NA,请使用
b <- 1:6
jnk <- c(2, 4, 5, NA, 7, 9)
cor(b, jnk, use="complete.obs")
[1] 0.9905977
Run Code Online (Sandbox Code Playgroud)