矩阵 - 镜像下三角形到上三角形
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了矩阵 - 镜像下三角形到上三角形相关的知识,希望对你有一定的参考价值。
如何用diag翻转lower.tri,没有最后一行翻到upper.tri?
m <- structure(c(1, 2, 3, 4, 5, NA, 66, 77, 88, 99, NA, NA, 333, 444,
555, NA, NA, NA, 101, 202, NA, NA, NA, NA, 99999), .Dim = c(5L,
5L), .Dimnames = list(c("v_2", "v_3", "v_3a", "v_3b", "v_4"),
c("v_0", "v_2", "v_3", "v_3a", "v_3b")))
好像:
v_0 v_2 v_3 v_3a v_3b
v_2 1 NA NA NA NA
v_3 2 66 NA NA NA
v_3a 3 77 333 NA NA
v_3b 4 88 444 101 NA
v_4 5 99 555 202 99999
期望的结果:
v_0 v_2 v_3 v_3a v_3b
v_2 1 1 2 3 4
v_3 2 66 66 77 88
v_3a 3 77 333 333 444
v_3b 4 88 444 101 101
v_4 5 99 555 202 99999
相当肯定的功能lower.tri()
和upper.tri()
可能会有所帮助。
答案
你可以做:
tm <- t(m)[,-nrow(m)] # or t(m[-nrow(m),])
m[upper.tri(m)] <- tm[upper.tri(tm, diag = TRUE)]
# > m
# v_0 v_2 v_3 v_3a v_3b
# v_2 1 1 2 3 4
# v_3 2 66 66 77 88
# v_3a 3 77 333 333 444
# v_3b 4 88 444 101 101
# v_4 5 99 555 202 99999
以上是关于矩阵 - 镜像下三角形到上三角形的主要内容,如果未能解决你的问题,请参考以下文章
R语言使用upper.tri函数lower.tri函数diag函数改变matrix矩阵上三角形下三角形对角线的数值
R语言使用cor函数计算相关性矩阵进行相关性分析,使用corrgram包可视化相关性矩阵行和列使用主成分分析重新排序下三角形中使用底纹和颜色表示相关性变量按其原始顺序绘制上三角形空白
R语言使用cor函数计算相关性矩阵进行相关性分析,使用corrgram包可视化相关性矩阵行和列使用主成分分析重新排序下三角形中使用底纹和颜色表示相关性(自定义颜色)上三角形中添加相关性数值
R语言使用cor函数计算相关性矩阵进行相关性分析,使用corrgram包可视化相关性矩阵行和列使用主成分分析重新排序下三角形中使用平滑的拟合线和置信椭圆,上三角形中使用散点图对角线最小值和最大值