如何查找具有 NA 的列的最低值和最高值之间的差异

问题描述 投票:0回答:1

当存在大量 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

我有数百列需要分析,因此我需要一个易于处理的代码(例如:我不需要手动输入列名称)。

任何帮助将不胜感激!

r dataframe difference
1个回答
0
投票
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))
© www.soinside.com 2019 - 2024. All rights reserved.