Load packages#
library(stringr)
library(readr)
library(tidyr)
library(dplyr)
Read the text from the NAO#
nao <- readLines("https://www.cpc.ncep.noaa.gov/products/precip/CWlink/pna/norm.nao.monthly.b5001.current.ascii.table")
nao
Format the text into a nice looking wide form tibble (one row per year)#
wide_form <- nao |>
str_trim(side = "both") |>
str_squish() |>
str_replace_all(stringr::fixed(" "), stringr::fixed(",")) |>
paste(collapse = "\n") |>
read_csv(col_names = c("Year", month.abb),
col_types = strrep("d", 13))
wide_form
Convert the tibble into long form (one row per month/year)#
long_form <- wide_form |>
pivot_longer(all_of(month.abb),
names_to = "Month",
values_to = "AMO")
long_form
means <- long_form |>
group_by(Year) |>
summarise(mean = mean(AMO))
nao_w_mean <- wide_form |>
mutate(mean_nao = means$mean)
nao_w_mean