Я пытаюсь создать график в ggplot2 с возрастом в годах и месяцах на оси X.Переменная возраста должна выглядеть следующим образом: «2; 6» = 2 года и 6 месяцев, «5; 9» = 5 лет и 9 месяцев.Необработанные данные для оси x состоят из возраста в месяцах, и для создания переменной «возраст в годах и месяцах» требуется функция.Я посмотрел в Интернете, и хотя я могу найти много материала о графике дат (например, с помощью пакета «lubridate»), я не могу понять, как адаптировать эти процедуры к графику возраста.Идеальным решением было бы перемаркировать ось х с помощью пользовательской функции.Ниже приведен минимальный проработанный пример.Я создал небольшой набор данных, функцию, чтобы превратить месяцы в год-в-месяцы, и я начал заговор.Может ли кто-нибудь помочь мне с синтаксисом для перемаркировки осей X (я думаю, что «scale-x-discrete» может быть правильной функцией).Спасибо!
library(ggplot2)
# Create data frame
df <- cbind.data.frame(c(22.2, 24.3, 26.1, 39.8, 55.0), c(0.5, 0.6, 0.8, 1, 1.5))
names(df) <- c("age_months", "height")
# Create function for turning age-in-months into age-in-years+months
m2ym <- function(age_m){
year <- floor(age_m/12)
month <- floor(age_m - (year*12))
return(paste0(year, ";", month))
}
#Now plot
g <- ggplot(df, aes(age_months, height))
g <- g + geom_point()
# Now add g <- g + scale_x_discrete()???