首页 > 代码库 > R语言中同比增长和环比增长
R语言中同比增长和环比增长
同比增长:与上个周期的同一天或者同一个季度,进行对比。
环比增长:与同个周期的不同天或者不同季度,进行对比。
比如,本周星期三与上周星期三进行比较,就是同比,
本周星期三与本周星期二进行比较,就是环比。
下面,以某个论坛的军事科技版本的每日浏览量,来制造一个条形图,并依据上周和本周数据分为两组进行展示,进而分析同比增长与环比增长的区别。原始数据如表(一)所示。
用R语言,将上述数据,转化为条形图。
data <- data.frame(pre=c(113,134,123,145,137,196,187), now=c(129,122,134,149,146,215,208)); ylim.max <- 550 col = c("azure4","brown4") ##将主副标题放到barplot函数里,进行设置 ##font=3,表示字体为“斜体” ##cex=1.5,表示字体放大1.5倍 barplot(as.matrix(rbind( data$pre,data$now)), beside=TRUE,ylim=c(0,ylim.max),col=col,axes=F, main=list( "本周pv趋势分析图",cex=1.5,col="red",font=3), sub=paste("范围:2014.12.1--2014.12.7","\n","网站板块:军事科技"), ylab="网站日页面浏览量pv" ) axis(2) ##画图例 text.legend = c("上周pv","本周pv","pv同比增长","pv环比增长") col2 <- c("black","blue") legend("topleft",pch=c(15,15,16,16), legend=text.legend,cex=0.8,col=c(col,col2),bty="n", horiz=TRUE) ##画刻度标记 text.x <- c("周一","周二","周三","周四","周五","周六","周日") axis(side=1, c(2,5,8,11,14,17,20), labels=text.x,tick=TRUE, cex.axis=0.75) axis(4,at=seq(from=250,length.out=7,by=40),labels=c("-60%","-40%","-20%","0","20%","40%","60%")) ##添加“同比增长曲线”和“环比增长曲线” ##同比增长 = (now[t]-pre[t])/pre[t] same.pre.growth <- (data$now-data$pre)/data$pre ##环比增长 = (now[t]-now[t-1])/now[t-1] ring.growth <- c(NA,diff(data$now)/data$now[1:(length(data$now)-1)]) a<-200; b<-370; lines(c(2,5,8,11,14,17,20), a*same.pre.growth+b,type="b",lwd=2) lines(c(2,5,8,11,14,17,20), a*ring.growth+b,type="b",lwd=2,col="blue") ##在同比和环比曲线上添加文字 j <- 1 for(i in 1:length(data[,1])){ #在bar上画数值 text(3*i-1, a*same.pre.growth[i]+b-5, paste(round(same.pre.growth[i]*10000)/100, "%",sep="")); j <- j+1; text(3*i-1, a*ring.growth[i]+b+5, paste(round(ring.growth[i]*10000)/100, "%",sep=""),col="blue"); j <- j+2; } ##在pv柱状图上添加文字 j <- 1 for(i in 1:length(data[,1])){ text(j+0.5,data$pre[i]+10, data$pre[i], col="deepskyblue4"); j < j+1 #组内间距为1 text(j+1.5,data$now[i]+10, data$now[i], col="deepskyblue4"); j <- j+3 #组外间距为3 }
效果如下:
图(2)
说明:PV 表示Page View ,页面浏览量
黑色的曲线,代表pv同比增长曲线
蓝色的曲线,代表pv环比增长曲线
从图(2)中可以看出,每周的周六和周日浏览量比较大,而星期一、星期二直到星期五的浏览量波动不大。浏览量的走势是:先减小,后增大,再减小,接着反弹到波峰,跟着回到平均水平。可以这么说,2014年12月6号周六,同比11月29号周六增长9.69%,环比12月5号周五增长47.36%
R语言中同比增长和环比增长
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。