Отображение на диаграмме R максимального значения X для данного Y в кадре данных - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь показать на линейной диаграмме в R из Y (проект), учитывая максимальную дату, которая соответствует этому Y, но он показывает мне только самую высокую дату этого кадра данных, а не каждого из проектов в order.

Пример кадра данных:

enter image description here

Диаграмма:

enter image description here

Код:

 output$grafica5 <-renderPlotly({
   p <- ggplot(data(),aes(x=max(as.Date(data()[,names(data())[3]], format = "%d/%m/%Y")), y=as.factor(data()[,names(data())[2]]), group=1))+
   geom_line()+
     geom_point()+
     theme_classic()+
     theme(axis.text.x=element_text(angle=45, hjust=1))+scale_color_viridis(discrete = TRUE)+
     labs(
       y="Proyectos", 
       x="Fecha")})

Вы можете мне помочь? Заранее спасибо

1 Ответ

0 голосов
/ 03 февраля 2020

Вы должны выполнить манипуляции с данными до построения графика (as.date и фильтрации максимальных значений)

library(dplyr)
library(ggplot2)

# creation of a data.frame with repeated projects with due dates
df <- data.frame(
  Projects = paste0("projects", sample(1:9, 20, T)),
  Duedate = paste0(sample(10:30, 20, T), "/01/2020" )
)

# creation of a variable `dates` and filtering of the max date per project
df <- df %>%
  mutate(dates = as.Date(Duedate, format = "%d/%m/%Y")) %>%
  group_by(Projects) %>%
  filter(dates == max(dates)) %>%
  ungroup()

ggplot(df, aes(x = dates, y = Projects, group = 1)) +
  geom_line() +
  geom_point()
...