gpt4 book ai didi

用零替换(相关)矩阵的对角线上的值,但保留矩阵中的所有其他 1 值

转载 作者:行者123 更新时间:2023-12-04 07:40:19 25 4
gpt4 key购买 nike

我有一个相关矩阵,并使用它来确定变量与其他变量完全相关的位置,知道相关性 = 1 是完全匹配。为了更好地解释,这里有一些模拟数据,以创建一些值相同的变量。

set.seed(123)
df <- data.frame(replicate(11,sample(1:1000,10,rep=TRUE)))
df <- cbind(df,df[,1:3],df[,1] )
names(df) <- c(paste0("X", 1:15))
cor_matrix <- round(cor(df, use="complete.obs", method="pearson"),2)
cor_matrix
> cor_matrix
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
X1 1.00 0.08 -0.69 0.10 -0.35 -0.39 0.26 -0.17 0.06 -0.03 0.12 1.00 0.08 -0.69 1.00
X2 0.08 1.00 -0.11 0.15 -0.30 -0.41 0.05 0.09 -0.70 0.67 -0.10 0.08 1.00 -0.11 0.08
X3 -0.69 -0.11 1.00 -0.18 -0.05 0.29 -0.42 -0.10 -0.01 -0.12 0.03 -0.69 -0.11 1.00 -0.69
X4 0.10 0.15 -0.18 1.00 0.24 0.37 0.31 0.18 0.03 -0.09 0.28 0.10 0.15 -0.18 0.10
X5 -0.35 -0.30 -0.05 0.24 1.00 0.33 0.36 0.27 0.34 -0.08 -0.21 -0.35 -0.30 -0.05 -0.35
X6 -0.39 -0.41 0.29 0.37 0.33 1.00 -0.55 0.11 0.55 -0.78 0.15 -0.39 -0.41 0.29 -0.39
X7 0.26 0.05 -0.42 0.31 0.36 -0.55 1.00 0.01 -0.25 0.54 0.10 0.26 0.05 -0.42 0.26
X8 -0.17 0.09 -0.10 0.18 0.27 0.11 0.01 1.00 0.06 0.02 -0.47 -0.17 0.09 -0.10 -0.17
X9 0.06 -0.70 -0.01 0.03 0.34 0.55 -0.25 0.06 1.00 -0.82 -0.26 0.06 -0.70 -0.01 0.06
X10 -0.03 0.67 -0.12 -0.09 -0.08 -0.78 0.54 0.02 -0.82 1.00 -0.17 -0.03 0.67 -0.12 -0.03
X11 0.12 -0.10 0.03 0.28 -0.21 0.15 0.10 -0.47 -0.26 -0.17 1.00 0.12 -0.10 0.03 0.12
X12 1.00 0.08 -0.69 0.10 -0.35 -0.39 0.26 -0.17 0.06 -0.03 0.12 1.00 0.08 -0.69 1.00
X13 0.08 1.00 -0.11 0.15 -0.30 -0.41 0.05 0.09 -0.70 0.67 -0.10 0.08 1.00 -0.11 0.08
X14 -0.69 -0.11 1.00 -0.18 -0.05 0.29 -0.42 -0.10 -0.01 -0.12 0.03 -0.69 -0.11 1.00 -0.69
X15 1.00 0.08 -0.69 0.10 -0.35 -0.39 0.26 -0.17 0.06 -0.03 0.12 1.00 0.08 -0.69 1.00
如您所见,X1 与 X12 和 X15 的相关值为 1。 X2 和 X13、X3 和 X14。
我想要做的是删除矩阵中所有不是 1 的值(用零替换不需要的值),但需要删除对角线上的 1,它与自身直接相关。任何帮助或想法将不胜感激。非常感谢

最佳答案

我们可以分配 diag元素为 0

diag(cor_matrix) <- 0
-输出
cor_matrix
X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15
X1 0.00 0.08 -0.69 0.10 -0.35 -0.39 0.26 -0.17 0.06 -0.03 0.12 1.00 0.08 -0.69 1.00
X2 0.08 0.00 -0.11 0.15 -0.30 -0.41 0.05 0.09 -0.70 0.67 -0.10 0.08 1.00 -0.11 0.08
X3 -0.69 -0.11 0.00 -0.18 -0.05 0.29 -0.42 -0.10 -0.01 -0.12 0.03 -0.69 -0.11 1.00 -0.69
X4 0.10 0.15 -0.18 0.00 0.24 0.37 0.31 0.18 0.03 -0.09 0.28 0.10 0.15 -0.18 0.10
X5 -0.35 -0.30 -0.05 0.24 0.00 0.33 0.36 0.27 0.34 -0.08 -0.21 -0.35 -0.30 -0.05 -0.35
X6 -0.39 -0.41 0.29 0.37 0.33 0.00 -0.55 0.11 0.55 -0.78 0.15 -0.39 -0.41 0.29 -0.39
X7 0.26 0.05 -0.42 0.31 0.36 -0.55 0.00 0.01 -0.25 0.54 0.10 0.26 0.05 -0.42 0.26
X8 -0.17 0.09 -0.10 0.18 0.27 0.11 0.01 0.00 0.06 0.02 -0.47 -0.17 0.09 -0.10 -0.17
X9 0.06 -0.70 -0.01 0.03 0.34 0.55 -0.25 0.06 0.00 -0.82 -0.26 0.06 -0.70 -0.01 0.06
X10 -0.03 0.67 -0.12 -0.09 -0.08 -0.78 0.54 0.02 -0.82 0.00 -0.17 -0.03 0.67 -0.12 -0.03
X11 0.12 -0.10 0.03 0.28 -0.21 0.15 0.10 -0.47 -0.26 -0.17 0.00 0.12 -0.10 0.03 0.12
X12 1.00 0.08 -0.69 0.10 -0.35 -0.39 0.26 -0.17 0.06 -0.03 0.12 0.00 0.08 -0.69 1.00
X13 0.08 1.00 -0.11 0.15 -0.30 -0.41 0.05 0.09 -0.70 0.67 -0.10 0.08 0.00 -0.11 0.08
X14 -0.69 -0.11 1.00 -0.18 -0.05 0.29 -0.42 -0.10 -0.01 -0.12 0.03 -0.69 -0.11 0.00 -0.69
X15 1.00 0.08 -0.69 0.10 -0.35 -0.39 0.26 -0.17 0.06 -0.03 0.12 1.00 0.08 -0.69 0.00

关于用零替换(相关)矩阵的对角线上的值,但保留矩阵中的所有其他 1 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67508514/

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