处理具有冗余行的数据表

时间:2012-09-26 19:52:22

标签: r

标题没有明确说明,但我无法提出其他总结我要求的内容。

我有一个以下表格的表格:

value (0<v<1)        # of events
   0.5677                 100000
   0.5688                   5000
   0.1111                   6000
     ...                     ...
   0.5688                 200000
   0.1111                  35000

以下是我喜欢用这个表做的一些事情:绘制直方图,计算平均值,拟合分布等。到目前为止,我只能弄清楚如何使用

这样的矢量来做到这一点
v=(0.5677,...,0.5688,...,0.1111,...)

但没有表格。

由于几乎连续的可能值的数量很大,我猜一个新的表不会那么有效,所以这样做而不修改原始表并制作另一个表是非常可取的。但如果必须这样做,那没关系。提前谢谢。

附录:我想弄清楚如何将此表视为常用数据向量: 如果我有以下向量表示与上面完全相同的数据:

v= (0.5677, ...,0.5677 , 0.5688, ... 0.5688, 0.1111,....,0.1111,....)
    ------------------   ------------------  ------------------
     (100000 times)      (5000+200000 times)  (6000+35000) times

然后我们只需要应用plot,mean等基本功能来获得我想要的东西。我希望这会使我的问题更清楚。

1 个答案:

答案 0 :(得分:0)

您的数据由该值的值和计数组成,因此您正在寻找将使用计数来对值进行加权的函数。键入?weighted.mean以获取将计算加权(分组)数据的均值的函数的信息。对于密度图,您希望在density()函数中使用weights =参数。对于直方图,您只需要使用cut()将值组合到少量组中,然后使用aggregate()来汇总组中所有值的计数。你会在Hmisc包中找到各种加权统计指标(wtd.mean,wtd.var,wtd.quantile等)。