我是R的新手。有了一组样本和目标,我想要一个数字函数来解决新样本的目标。我的样本是以秒为单位的时间,表示用户在这个地方停留的持续时间:
>b <- c(101,25711,13451,19442,26,3083,133,184,4403,9713,6918,10056,12201,10624,14984,5241,
+21619,44285,3262,2115,1822,11291,3243,12989,3607,12882,4462,11553,7596,2926,12955,
+1832,3539,6897,13571,16668,813,1824,10304,2508,1493,4407,7820,507,15866,7442,7738,
+5705,2869,10137,11276,12884,11298,...)
首先,我将它们转换为小时除以3600,我希望将函数作为持续时间的pdf:
> b <- b/3600
> hist(c,xlim=c(0,13),prob=T,breaks=seq(0,24,by=0.5))
> lines(density(x), col=red)
我想在图上插入红线,并插入新值以查找此地点特定持续时间的概率,例如p(持续时间= 1.5小时)。
感谢您的关注!
答案 0 :(得分:2)
如上所述,您可以在fitdistr
包中使用MASS
进行分发。
如果使用连续分布,则可能会有时间在一个区间内。如果使用离散分布,则可以计算特定时间(以小时为单位)的概率。
对于连续案例,您可以使用Gamma分布:fitdistr(b, "Gamma")
会为您提供参数估算值,然后您可以将pgamma
与这些估算和间隔一起使用。
对于离散情况,您可以使用泊松分布:fitdistr(b, "Poisson")
,然后使用dpois
函数和估计值以及所需的值。
要决定使用哪一个,我只需用直方图绘制pdf并查看。