如何解决使用ggplot的方面线图
请在下面查看我正在使用的数据集:
index d1_t1 d1_t2 d1_t3 d1_t4 d2_t1 d2_t2 d2_t3 d2_t4 d3_t1 d3_t2 d3_t3 d3_t4 d4_t1 d4_t2 d4_t3 d4_t4 d5_t1 d5_t2 d5_t3 d5_t4 d6_t1 d6_t2 d6_t3 d6_t4 d7_t1 d7_t2 d7_t3 d7_t4
1 1 1 0 0 0 0 0 0 1 1 1 1 1 0 1 0 1 1 0 1 0 1 0 1 1 1 1 1 1
2 2 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0
3 3 1 1 1 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1
4 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
变量的简短说明:
d1t1=Day 1 time 1
d1t2=Day 1 time 2
....
d2t1=Day2 time 1
d2t2=Day2 time 2
0,1 =在特定时间进行的不同类型的测量
我想使用刻面创建折线图,以显示一周中每分钟的测量次数。因此,基本上x轴有时间,y轴具有一周内进行的最多测量次数。我要做的是根据列汇总数据框架,但我不知道如何绘制。
样本数据:
df<-structure(list(index=c (101,200,101),d1_t1 = c(1,1,1),d1_t2 = c(1,d1_t3 = c(1,d1_t4 = c(1,d2_t1 = c(1,d2_t2 = c(1,d2_t3 = c(1,d2_t4 =c(1,d3_t1 = c(1,d3_t2 = c(1,d3_t3 = c(1,d3_t4 = c(1,d4_t1 = c(1,d4_t2 = c(1,d4_t3 = c(1,d4_t4 =c(1,d5_t1 = c(1,d5_t2 = c(1,d5_t3 = c(1,d5_t4 = c(1,d6_t1 = c(1,d6_t2 = c(1,d6_t3 = c(1,d6_t4 =c(1,d7_t1 = c(1,d7_t2 = c(1,d7_t3 = c(1,d7_t4 =c(1,1)),row.names = c(NA,4L),class = "data.frame")
df
解决方法
我建议采用这样的方法:
library(tidyverse)
#Melt
df2 <- pivot_longer(df,cols = -index) %>% separate(col = name,sep = '_',into = c('day','time')) %>%
group_by(day,time) %>% summarise(Total=sum(value))
#Plot
ggplot(df2,aes(x=time,y=Total))+
geom_bar(stat='identity',color='black',fill='pink')+
facet_wrap(.~day,scales = 'free')
下一个输出:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。