繁体   English   中英

用R计数计数数据

[英]Interpolation of count data with R

我有这样的数据集:

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做了一个条形图,现在我想创建一个图形(线条)插值这些条形图。 我该怎么办? 然后,如果我将这个新图形缩放到辅助(右)轴?

谢谢

有几种方法可以插入数据。 这是使用approx一个解决方案。

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

在此输入图像描述

EDITS

OP的其他问题是“平滑”线。 如果平滑意味着线条中的曲线更平滑,我会使用spline而不是approx 通过更改spline调用中的5 ,可以使用spline的点数进行播放。

plot(spline(my.zoo, n = 5*length(my.zoo)),type="l",yaxt = "n",ylab="",xlab="")

在此输入图像描述

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

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="")

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM