【发布时间】:2022-01-09 16:02:50
【问题描述】:
我有一个相关矩阵,我想比较我的变量的相关值,以将相关性高于特定值的变量分组。我正在使用for 循环执行此操作,我想知道如何避免比较对角线值(其中值等于 1)
这是我的相关矩阵的示例
Data >
A B C D E F G
A 1 0.2 0.7 0.41 0.89 0.63 0.22
B 0.2 1 0.12 0.5 0.7 0.74 0.3
C 0.7 0.12 1 0.65 0.23 0.88 0.19
D 0.41 0.5 0.65 1 0.33 0.57 0.9
E 0.89 0.7 0.23 0.33 1 0.20 0.94
F 0.63 0.74 0.88 0.57 0.20 1 0.86
G 0.22 0.3 0.19 0.9 0.94 0.86 1
这是我使用的代码的简单版本
for (ii in 1:(ncol(Data)-1)) {
for(jj in 1:(ncol(Data))){
if (abs(Data[1,ii] - Data[1,jj]) <= 0.8) {
print("True")
print(paste("Le nom de variable est ",colnames(Data)[jj]))
}
else{
print("false")
print(paste("Le nom de variable est ",colnames(Data)[ii]))
}
}
}
但它会将变量与它自己进行比较(当ii = jj时)并返回对角线值等于1的结果。
所以我的问题是:如何修改我的代码以不比较对角线?
谢谢
【问题讨论】:
-
if (ii==jj) next?
标签: r dataframe statistics