繁体   English   中英

如何创建具有多个特定变量的相关矩阵?

[英]How can I create a Correlation Matrix with multiple, specific variables?

我有一个非常大的数据集,但想用该数据集中的 10 个变量做一个相关矩阵(并将变量名称重命名为其他名称)

我当前的代码是这样的:

#Correlation Function
data.cor = cor(df)

#Correlation Coefficient
data.cor = cor(df, method = "pearson", use = "complete.obs")


#Running Correlation w/ P-Values
install.packages("Hmisc")
library("Hmisc")
data.rcorr = rcorr(as.matrix(df))
data.rcorr

#
data.coeff = data.rcorr$r
data.p = data.rcorr$P

但是,1) 它不起作用 2) 我知道它只是引用了完整的数据集

我怎样才能做到只引用这 10 个变量并能够重命名变量?

预先谢谢你!

如果您有一个 dataframe, d ,您可以通过多种方式直接子集化。 例如,使用变量名称的向量,如下所示:

target_vars = c("v1", "v2", "v7", "v8", "v12")
cor(d[,target_vars], method = "pearson", use="complete.obs")

Output:

             v1         v2          v7         v8         v12
v1   1.00000000 0.57761512 -0.22465288  0.6571388  0.06053092
v2   0.57761512 1.00000000  0.08178772  0.4641090  0.14373593
v7  -0.22465288 0.08178772  1.00000000  0.3035047 -0.46410860
v8   0.65713875 0.46410902  0.30350472  1.0000000 -0.48583862
v12  0.06053092 0.14373593 -0.46410860 -0.4858386  1.00000000

输入:

set.seed(123)
d = setNames(as.data.frame(lapply(1:20, \(x) rnorm(10))), paste0("v",1:20))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM