在R中设置数据帧中值的最大限制

时间:2014-03-17 10:16:04

标签: r max limit mean

在数据框中(在R中),我有两列 - 第一列是物种名称列表(species),第二列是我对该物种的发生记录数({{1 }})。 number列中存在大的变化,其中大多数值<100但是少数是非常高的值(> 100,000),并且存在许多行(~4000)。这是一个简化的例子:

number

基本上我想要做的是减少最大记录数( x<-data.frame(species=c("a","b","c","d","e","f","g","h","i","j"),number=c(53,17,67,989,135,67,13,786,100400,28)) 列中的值),直到此列中所有值的平均值稳定为止。

为此,我需要为number列中的值设置最大限制,以便任何值&gt;此限制降低到此最大限制,并记录平均值。我想多次重复这一次,每次都将最大限制减少100次。

我无法在网上找到任何类似的问题,我不确定从哪里开始!任何帮助,即使只是正确方向的一点,将非常感谢!干杯

1 个答案:

答案 0 :(得分:4)

你应该使用pmin值:

pmin(x$number, 1e3)
# to test multiple limits :
mns <- sapply(c(1e6, 1e4, 1e2), function(u) mean(pmin(x$number, u)))