gpt4 book ai didi

r - R中的cor和cor.test有什么区别

转载 作者:行者123 更新时间:2023-12-04 22:52:26 26 4
gpt4 key购买 nike

我有一个数据框,它的列是实验的不同样本。我想找到这些样本之间的相关性。所以样本 v2 和 v3 之间,样本 v2 和 v4 之间的相关性,....
这是数据框:

> head(t1)
V2 V3 V4 V5 V6
1 0.12725011 0.051021886 0.106049328 0.09378767 0.17799444
2 0.86096784 1.263327211 3.073650624 0.75607466 0.92244361
3 0.45791031 0.520207274 1.526476608 0.67499102 0.49817761
4 0.00000000 0.001139721 0.003158557 0.00000000 0.00000000
5 0.13383965 0.098943019 0.099922146 0.13871867 0.09750611
6 0.01016334 0.010187671 0.025410170 0.00000000 0.02369374
> nrow(t1)
[1] 23367

如果我为此数据框运行 cor 函数以获得样本(列)之间的相关性,我会得到所有样本的 NA :
> cor(t1, method= "spearman")
V2 V3 V4 V5 V6
V2 1 NA NA NA NA
V3 NA 1 NA NA NA
V4 NA NA 1 NA NA
V5 NA NA NA 1 NA
V6 NA NA NA NA 1

但如果我运行这个:
> cor.test(t1[,1],t1[,2], method="spearman")$estimate
rho
0.92394

那不一样。为什么会这样?获得这些样本之间相关性的正确方法是什么?
先感谢您。

最佳答案

您的数据包含 NA值。

来自 ?cor :

If use is "everything", NAs will propagate conceptually, i.e., a resulting value will be NA whenever one of its contributing observations is NA.



来自 ?cor.test

na.action a function which indicates what should happen when the data contain NAs. Defaults to getOption("na.action").



在我的系统上:
getOption("na.action")
[1] "na.omit"

使用 which(!is.finite(t1))搜索有问题的值和 which(is.na(t1))搜索 NA值。 cor返回 NaN如果您有 Inf数据中的值。

关于r - R中的cor和cor.test有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14661072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com