R中矩阵的处理
我有一项任务,就是获取一组给定的数据,并将其作为矩阵发布,我已经完成了这项工作 现在,我已经有了这个列和行名称的矩阵,我需要检查矩阵中条目的绝对值是否大于0.5。如果是这种情况,则需要打印此特定值以及列和行的名称 此外,所讨论的矩阵是对称的,其对角线的值等于1,因此不必打印这些值 你对如何实现它有什么想法吗?我应该将这些结果放在矩阵或数据框中吗?这两项中哪一项更容易实现?举个例子:R中矩阵的处理,r,R,我有一项任务,就是获取一组给定的数据,并将其作为矩阵发布,我已经完成了这项工作 现在,我已经有了这个列和行名称的矩阵,我需要检查矩阵中条目的绝对值是否大于0.5。如果是这种情况,则需要打印此特定值以及列和行的名称 此外,所讨论的矩阵是对称的,其对角线的值等于1,因此不必打印这些值 你对如何实现它有什么想法吗?我应该将这些结果放在矩阵或数据框中吗?这两项中哪一项更容易实现?举个例子: set.seed(101) x <- matrix(rnorm(100),10) xx <- cor
set.seed(101)
x <- matrix(rnorm(100),10)
xx <- cor(x) # correlation matrix
rownames(xx) <- colnames(xx) <- letters[1:10]
set.seed(101)
你试过什么?另外,请发一封邮件。
combinations <- levels(interaction(rownames(xx), colnames(xx)))
idx <- abs(xx) > 0.5
diag(idx) <- idx[upper.tri(idx)] <- FALSE
results <- data.frame(combination = combinations[idx], rho = xx[idx])
# combination rho
# 1 d.a -0.5739332
# 2 e.a 0.6352977
# 3 f.c 0.5977269
# 4 h.g -0.8208542