计数数据的R插值

计数数据的R插值,r,interpolation,bar-chart,R,Interpolation,Bar Chart,我有这样一个数据集: January : 0 February : 0 March : 1 April : 2 May : 1 June : 3 July : 3 August : 2 September : 0 October : 1 November : 1 December : 0 我用R做了一个条形图,现在我想创建一个插入这些条形图的图形(线)。我怎样才能继续? 然后,如果我将这个新图形缩放到第二(右)轴 多亏了有几种插值数据的方法。下面是一个使用近似值的解决方案 library(zo

我有这样一个数据集:

January : 0
February : 0
March : 1
April : 2
May : 1
June : 3
July : 3
August : 2
September : 0
October : 1
November : 1
December : 0
我用R做了一个条形图,现在我想创建一个插入这些条形图的图形(线)。我怎样才能继续? 然后,如果我将这个新图形缩放到第二(右)轴


多亏了

有几种插值数据的方法。下面是一个使用
近似值
的解决方案

library(zoo)
my.months <-seq(as.Date("2013/1/1"), by = "month", length.out = 12)
my.zoo <-zoo(c(0,0,1,2,1,3,3,2,0,1,1,0),my.months)

plot(my.zoo,type="h",lwd=6,col="red")
par(new=T)
plot(approx(my.zoo),type="l",yaxt = "n",ylab="",xlab="") #add new graph layer
axis(4,pretty(approx(my.zoo)$y)) #add y axis on the right side

如果平滑意味着更少的起伏,我会使用多项式回归,而不是
近似值
。同样,您可以通过更改回归顺序来调整拟合(在本例中为6)

绘图(my.zoo,type=“h”,lwd=6,col=“red”)
标准杆(新=T)

欢迎来到我们的网站!如果你正在寻找解释如何用一般术语进行插值的答案,那么这就是发布你的问题的地方。如果您只需要在
R
中绘制这些线的说明,那么我们需要将您的问题迁移到更合适的社区。请通过编辑您的问题或将其标记为迁移,让我们知道您的偏好。我只是需要一种以图形方式显示这些数据的好方法。我想最好是把它移走。谢谢你!近似曲线是否可能更平滑?例如,在4月和6月之间会产生较少的突然下降?您可以使用内核带宽调整平滑:
plot(density(my.zoo,width=2));rug(my.zoo)
我认为“密度”是不正确的,因为它计算了多少个零、一、二等等。。。我已经给出了这个类别的概率密度…但是应用于时间分布(我的月份)没有意义…我需要一种适用于大约的带宽。用两个新的解决方案更新了我的答案。我放弃了。我给了你三种插值的好方法。你想要什么还不清楚。
plot(spline(my.zoo, n = 5*length(my.zoo)),type="l",yaxt = "n",ylab="",xlab="")
plot(my.zoo,type="h",lwd=6,col="red")
par(new=T)
reg <-lm(coredata(my.zoo)~poly(index(my.zoo),6))
plot(predict(reg),type="l",yaxt = "n",ylab="",xlab="")