在R中计算统计数据时如何忽略负值?

时间:2014-07-30 00:18:22

标签: r statistics

在计算R整数数组的均值,最小值,最大值和标准差时,是否可以忽略负值?我有一个22 * 22阵列,其中许多负值为-128。我想在计算上述统计数据时只考虑正值和正值的计数。

1 个答案:

答案 0 :(得分:1)

您可以过滤值

#sample data
x<-c(4,1,10,-128,54,14,16,-128)

#filter helper function
isPositive <- function(x) x>=0

#calculate value(s)
mean(x)
#[1] -19.625

mean(Filter(isPositive, x))
# [1] 16.5

但是如果你有多个-128,那么听起来这个值实际上可能代表了丢失的数据。将它们设置为NA

可能更容易
x[x==-128] <- NA

然后你可以做

mean(x, na.rm=T)
# [1] 16.5