R-код для построения графиков с использованием layout() работает, когда выполняется построчно, но не при выполнении функции
Я использую xts
пакет.
library(xts)
Следующее работает совершенно нормально:
mydata = xts(rnorm(200), order.by = Sys.Date() - 1:200)
layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE),
widths=c(1,1), heights=c(1,2))
plot(mydata, main = 'mydata Time Series')
acf(mydata, main = 'mydata acf', lag = 10)
pacf(mydata, main = 'mydata pacf', lag = 10)
Но когда я использую то же самое в качестве функции, графики не отображаются хорошо
mydata = xts(rnorm(200), order.by = Sys.Date() - 1:200)
return_plot <- function(mydata, lag = 10){
layout(matrix(c(1,1,2,3), 2, 2, byrow = TRUE),
widths=c(1,1), heights=c(1,2))
plot(mydata, main = 'mydata Time Series')
acf(mydata, main = 'mydata acf', lag = lag )
pacf(mydata, main = 'mydata pacf', lag = lag)
}
return_plot(mydata)
Есть идеи, почему это происходит?
1 ответ
Решение
Использование print(plot(mydata, main = 'mydata Time Series'))
в вашей функции.