当存在大量 NA 时,如何计算每列的最大和最小值之间的逐行差异?
假设这是我的数据:
a b c d e
A 1 NA 3 NA NA
B 0 NA 6 NA 2
C 3 2 1 NA 3
C NA NA 3 NA 0
对于每一列,我想找到具有最高值的行和具有最低值的行之间的差异 - 结果应该如下所示:
3 0 5 NA 3
我有数百列需要分析,因此我需要一个易于处理的代码(例如:我不需要手动输入列名称)。
任何帮助将不胜感激!
a <- matrix(c(1, NA, 3, NA, NA, 0, NA, 6, NA , 2, 3 , 2 , 1 , NA, 3, NA , NA, 3 ,NA, 0), nrow=4, ncol=5, byrow=T)
apply(a, 1, function(x) max(x, na.rm=T)-min(x, na.rm=T))