我想說明按不同調查階段(T1、T2、T3)分組的每天平均睡眠時間。 下面是我的資料框架的一個例子:
我的資料框架看起來像什么?
structure(list(代碼 = c("AJH27"/span>。 "AJH27", "AJH27", "AJH27", "AJH27","AJH27")。 slt = c(/span>"22: 10: 00", "21:22:00", "22。 00:00", "21:50:00",
"20:55:00", "21:55。 00")。 日 = c("Mi"。 "Do", "Fr", "Sa", "So", "So",
"Mo")。 tmp = c("T1"。 "T1"/span>。 "T1", "T1",。 "T1")),行。 names = c(NA,)
-6L)。 class = c("tbl_df"/span>。 "tbl", "data. frame"))
原始資料集由三個以上的觀測資料組成。 現在我想創建一個折線圖,X軸上的天數(Mo到So)顯示調查階段每一天的平均睡眠時間(Y軸的時鐘時間)。這將包括三條不同的線(按組著色)。
我對使用 ggplot 的經驗不多,我無法弄清楚如何建立我想要的圖表。
編輯:
這是我使用你的代碼時的圖表,@JonSpring
uj5u.com熱心網友回復:
這里有一個使用lubridate::hms的方法,將H:M:S文本轉換為一個時間段(以秒為單位),然后再轉換為小時。
library(dplyr)。library(lubridate); library(ggplot2)
# 將日轉化為有序因子,以便按正確順序顯示。
dat$day = factor(dat$day。 ordered = TRUE,
levels = c("Mo"/span>。 "Di", "Mi"。 "Do", "Fr", "Sa", "So"))%>%
mutate(hours = as. 數字(hms(slt))/(60*60) %> %
ggplot(aes(day, 小時,顏色= tmp。 group = tmp))
geom_line()
編輯:另外,為了在Y軸上使用一個時間戳:
dat %>%
mutate(hours = ymd_hms(paste("20000101"。 slt)) %> %
ggplot(aes(day, 小時,顏色= tmp。 group = tmp))
geom_line()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/318910.html
標籤:



