Guia visual definitiva per treballar amb openair sense errors.
Pensada per tenir oberta o impresa mentre programes.
mydata és quasi sempre obligatori
timeVariation(mydata = df, pollutant = "NO2")
timeVariation(df, pollutant = "NO2") # forma curta (menys clara)
mydata =
date | pollutant | value
# ❌ NO suficient en dades long
# any(duplicated(df$date))
# ✅ Duplicats reals (mateixa data + mateix pollutant)
any(duplicated(df[, c("date", "pollutant")]))
# Comprova ordre temporal
is.unsorted(df$date)
# Ordena sempre (segur)
df <- df[order(df$date), ]
df$date <- as.POSIXct(df$date, tz = "UTC")
df$pollutant <- droplevels(df$pollutant)
df$site <- droplevels(df$site)
type
table(df$pollutant, useNA = "ifany")
poll_ok <- intersect(
c("NO2","PM10","O3"),
levels(df$pollutant)
)
df %>%
group_by(pollutant) %>%
summarise(ndays = n_distinct(as.Date(date)))
timeVariation(df, pollutant = "NO2", normalise = FALSE)
summary(df$value)
tv <- timeVariation(df, pollutant = "NO2", plot = FALSE)
str(tv$data)
silent = TRUE en scripts llargs
timeVariation(df, pollutant = "NO2", silent = TRUE)
stopifnot(
inherits(df$date, "POSIXct"),
!is.unsorted(df$date),
!any(duplicated(df[, c("date", "pollutant")])),
nrow(df) > 0
)
traceback()
options(error = recover)