繁体   English   中英

更改R产生的acf图

[英]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.

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