R 周期函数的图密度
我有一个向量,表示一系列事件发生的时间(以午夜后的秒为单位),我想画出一天中这些事件的密度。有一种方法可以做到这一点:R 周期函数的图密度,r,R,我有一个向量,表示一系列事件发生的时间(以午夜后的秒为单位),我想画出一天中这些事件的密度。有一种方法可以做到这一点: rs <- 60*60*24*c(rbeta(5000, 2, 5), runif(10000, 0, 1)) den <- density(rs, cut=0) plot(den, ylim=range(0,den$y)) rs我不认为你的证据表明曲线应该是重复样条曲线拟合的一部分。您应该检查hist()在同一对象上的结果,在该对象上指定小时边界处的中断。对数样
rs <- 60*60*24*c(rbeta(5000, 2, 5), runif(10000, 0, 1))
den <- density(rs, cut=0)
plot(den, ylim=range(0,den$y))
rs我不认为你的证据表明曲线应该是重复样条曲线拟合的一部分。您应该检查hist()在同一对象上的结果,在该对象上指定小时边界处的中断。对数样条函数允许使用hte数据的指定边界计算密度估计值:
hist( c(c(rs, rs+60*60*24, rs+2*60*60*24), breaks= 24*3 )
require(logspline)
?logspline
fit <- logspline(c(rs), lbound=0, ubound=60*60*24)
plot(fit)
hist(c(rs,rs+60*60*24,rs+2*60*60*24,breaks=24*3)
要求(对数样条)
?对数花键
fit你可以看看circular
包:为了估计圆(即循环)数据集上的密度。这是一篇博文,内容非常详细,为计算和图形提供了大量的R代码。我认为它们不是@Iterator提到的相同函数(顺便感谢您的参考),但即使您决定使用该库,它仍应适用于绘图。根据我发布的合成数据,确实一天的结束和开始不是相同的密度。但我实际的一天更像是“人们在一天中的什么时候刷牙?”,因此它应该平滑地跨越过渡边界。
hist( c(c(rs, rs+60*60*24, rs+2*60*60*24), breaks= 24*3 )
require(logspline)
?logspline
fit <- logspline(c(rs), lbound=0, ubound=60*60*24)
plot(fit)