在R中删除数据帧对角线上方的项的最佳方法是什么?



我有一个数据框架,对角线以下的相关性和对角线以上的p值。我试图找出是否有一种简单的方法来删除对角线上方的p值-只留下单元格空白。我猜这是某种循环函数,计算列数然后逐行删除值?但我对R有点陌生,搞不清楚。任何建议都会很有帮助。谢谢!

有一种方法

> x <- data.frame(matrix(1:25, nrow=5))
> x[upper.tri(x)] <- NA
> x
  X1 X2 X3 X4 X5
1  1 NA NA NA NA
2  2  7 NA NA NA
3  3  8 13 NA NA
4  4  9 14 19 NA
5  5 10 15 20 25

虽然,从你的描述,我认为一个矩阵将是一个更合适的数据结构(相同的代码适用)

相关内容

最新更新