Наличие ведущего NA
немного морщин, но я считаю очень читаемым (и векторизованным) способом LOCF, когда главный член not отсутствует:
na.omit(y)[cumsum(!is.na(y))]
В целом работает немного менее читаемая модификация:
c(NA, na.omit(y))[cumsum(!is.na(y))+1]
дает желаемый результат:
c(NA, 2, 2, 2, 2, 3, 3, 4, 4, 4)
Если вы используете geom_boxplot(notch = TRUE)
, вырезы дадут вам примерно 95% интервал вокруг медианы. См .: https://ggplot2.tidyverse.org/reference/geom_boxplot.html
. Если вы хотите получить среднее значение, я бы добавил geom_jitter() + geom_errorbar()
, но вычисления не автоматизированы больше.