标题没有明确说明,但我无法提出其他总结我要求的内容。
我有一个以下表格的表格:
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等基本功能来获得我想要的东西。我希望这会使我的问题更清楚。
答案 0 :(得分:0)
您的数据由该值的值和计数组成,因此您正在寻找将使用计数来对值进行加权的函数。键入?weighted.mean以获取将计算加权(分组)数据的均值的函数的信息。对于密度图,您希望在density()函数中使用weights =参数。对于直方图,您只需要使用cut()将值组合到少量组中,然后使用aggregate()来汇总组中所有值的计数。你会在Hmisc包中找到各种加权统计指标(wtd.mean,wtd.var,wtd.quantile等)。