Уважаемое сообщество stackoverflow,
Я довольно новичок в R, и это моя первая запись в stackoverflow, поэтому, пожалуйста, пощадите меня, если это не идеальный вопрос.
Я рассчитываю стандартизированный индекс осадков (SPI) с пакетом «SPEI» для временного ряда климатической станции с данными за 20 лет месячных осадков. Я сделал это в течение 1 и 12 месяцев, например:
spi1 <- spi(SPI_Anu_input_ts[,'PRCP_Anu'], 1)
spi12 <- spi(SPI_Anu_input_ts[,'PRCP_Anu'], 12)
Выходные данные SPI - это не матрица или датафрейм, это список. Внутри этого списка под соответствующей записью вы найдете серию времени с требуемыми и рассчитанными значениями индекса.
Чтобы построить эти значения индекса, вам не нужно вводить x & y, как обычно:
plot(x, y, ...)
Вы можете просто использовать полный список:
par(mfcol=c(2,1))
plot(spi1, 'Anuradhapura, SPI-1')
plot(spi12, 'Anuradhapura, SPI-12')
Тогда это выглядит так:
Участок SPI1 и SPI12
Часть расчета SPI состоит в том, что количество шкалы времени является первым месяцем для первого значения индекса. Данные об осадках начинаются в январе 1990 года. Таким образом, индексы для SPI1 начинаются в январе, а для SPI12 начинаются в декабре (первые 11 месяцев - NA).
Как вы можете видеть на графике, оси x и y смещены. Ни один
xlim=as.Date(c("1990-01-01","2017-09-01"))
ни каких ограничений осей как
ylim=c(-2.5,2.5)
работает, чтобы иметь одинаковый диапазон значений на обеих графиках.
Кто-нибудь знает, как это решить?