[英]Altering the acf plot produced by R
这可能不是一个非常简单的问题。 但是我正在尝试更改R中产生的acf图,并且没有运气。 我想更改acf的外观,即从基本图中更改。 该图在左侧显示了R生成的普通acf,在右侧显示了我想要的acf,是否可以更改此设置?
我曾尝试在各种搜索引擎中输入“在R中更改acf图”,但找不到合适的解决方案。 到目前为止,我已经存储了acf输出:
a <- acf(blah)
xyplot(acf~lag,data=a,type = "l")
这将返回acf的线图,但不会保留95%的置信区间。 有没有人有什么建议?
我可以通过使用ggplot2
获得与您想要的情节相似的ggplot2
。 我在这里使用ldeaths
表作为示例。 关键点可能是从acf对象中提取值到data.frame
。 从那里,您可以随心所欲地绘制任何内容。
library(ggplot2)
# compute acf without plotting
acz <- acf(ldeaths, plot=F)
# 95% confidence interval limits
ci <- qnorm((1 + 0.95)/2)/sqrt(sum(!is.na(series)))
# convert to data frame
acd <- data.frame(lag=acz$lag, acf=acz$acf)
# use data frame for ggplot
ggplot(acd, aes(lag, acf)) + geom_area(fill="grey") +
geom_hline(yintercept=c(ci, -ci), linetype="dashed") +
theme_bw()
您可以通过查看此处的文档来熟悉ggplot2
。 这将帮助您进一步自定义绘图。
置信区间不会由acf
函数导出-此计算是在plot.acf
函数内部完成的。 因此,使用ggplot绘制ACF时,您需要自己计算CI范围。
Coda程序包生成一个很好的自相关图:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.