[英]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.