在该图中,是否可以调整Y比例(1000、10.000、100.000)?
x <- mdeaths+runif(n = length(mdeaths), min = 5000, max = 99523)*1000
#--- Only example
x1 <- auto.arima(x)
x2 <- forecast(x1, h = 12, level = 0.80)
autoplot(x2) # works
autoplot(x2/100000) # dont works
Error in x2/100000 : non-numeric argument to binary operator
答案 0 :(得分:0)
我仍然不确定您到底想要什么,但是由于autoplot()
是ggplot2
包的功能,因此您可以应用ggplot2
函数。
100000
的“缩放”应该在auto.arima()
之前进行。
x1 <- auto.arima(x / 100000)
x2 <- forecast(x1, h = 12, level = 0.80)
使用scales::comma
,您可以禁用科学计数法,即“调整”的含义。并将中断设置为您可以使用breaks=10^(0:ceiling(log10(max(x))))
总而言之,您可以:
library(ggplot2)
library(scales)
autoplot(x2) +
scale_y_continuous(breaks = 10^(0:ceiling(log10(max(x)))), labels = comma)
屈服
或尝试使用autoplot(x2) + scale_y_log10(breaks = 10^(0:ceiling(log10(max(x)))), labels = comma)
的对数刻度。