【问题标题】:How to compute mean of non zero elements of each row in a dataframe in r如何计算r中数据帧中每一行的非零元素的平均值
【发布时间】:2019-02-27 11:37:27
【问题描述】:

我想计算每一行的非零元素的平均值。下面是一个示例数据集

data=data.frame(x1=c(8,0,9),x2=c(0,0,10),x3=c(16,10,2))
data
x1  x2  x3
8   0   16
0   0   10
9   10  2

期望的结果是

mean
12
10
 7

谢谢。

不是:getting column means for non zero data

我确实尝试过,但它不起作用,因为当我转换为 NA 值时,平均值将为 NA。

【问题讨论】:

    标签: r rows mean


    【解决方案1】:

    我们replace '0' 和 NA 并使用来自 rowMeansna.rm 参数

    rowMeans(replace(data, data == 0, NA), na.rm = TRUE)
    #[1] 12 10  7
    

    【讨论】:

      【解决方案2】:

      这是一个简单的解决方案:

      apply(data,1,function(x) mean(x[x!=0]))
      

      【讨论】:

        猜你喜欢
        • 2021-10-24
        • 1970-01-01
        • 2021-06-16
        • 2014-10-01
        • 1970-01-01
        • 2017-04-12
        • 2020-04-02
        • 2017-05-26
        相关资源
        最近更新 更多