Обозначение события на участке - PullRequest
1 голос
/ 04 апреля 2019

Я изучаю потребление жидкости пациентом и частоту мочеиспускания.

Я собираю объем и время выпитой жидкости и время мочеиспускания.

Я хочу указать на графике потребление жидкости при мочеиспускании.

Вот мои данные и код ...

time_log <- c("01:10", "05:50", "06:00","06:15", "06:25", "09:35", "10:00", "12:40",
              "14:00")
time_log <- paste("04/04/2019", time_log, sep=" ")
time_log <- strptime(time_log, format = "%d/%m/%Y %H:%M")
time_view <- format(time_log, "%H:%M")
event <- c("u", "u", "T", "T", "u", "u", "T","T","u")
Volume <- c(NA, NA, 0.25, 0.25, NA, NA, 0.125, 0.625, NA)

patient_data <- data.frame(time_log, time_view, event, Volume)

total_liquids <- sum(patient_data$Volume, na.rm=TRUE)

plot(patient_data$time_log, patient_data$Volume,
     xlim = c(as.POSIXct("2019-04-04 00:00:00"),as.POSIXct("2019-04-04 24:00:00")), 
     xlab="Hours of Study", ylab = "Volume of Liquid Drank /L",
     main = paste("Total Liquids Drank = ", total_liquids, " L"))

Это связано со следующим вопросом Данные временного ряда - как , который был плохо получен сообществом переполнения стека.

1 Ответ

2 голосов
/ 04 апреля 2019

Вот способ использования ggplot2 и пунктирных вертикальных линий. При добавлении geom_vline мы устанавливаем данные только для событий мочеиспускания (т. Е. event == "u").

library(ggplot2)

ggplot(patient_data, aes(x = time_log, y = Volume)) +
  geom_point() +
  geom_vline(
    data = subset(patient_data, event == "u"), 
    aes(xintercept = time_log),
    linetype = 2
  ) +
  labs(
    title = paste("Total Liques Drank = ", total_liquids, " L"),
    subtitle = "Dashed line reprents urination",
    x = "Hours of Study",
    y = "Volume of Liquid Drank (L)"
  ) +
  scale_y_continuous(limits = c(0, NA)) # just so we don't start the y-axis at 0.1 or something misleading.

Visual

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...