首页 > 解决方案 > 绘制多条线的平均线

问题描述

看,我确定以前有人问过这个问题,但是我遇到了另一面墙,我想在绘图上绘制多条线的平均线。经过数小时的尝试,我似乎无法做到这一点。我知道这看起来很懒惰,我非常抱歉,但请尽我所能帮助兄弟。我只想在所有实验线上绘制平均线。我试过使用rowMeans,并尝试通过对我的数据进行分组来生成新的数据框,但没有成功。请。 https://www.dropbox.com/s/m1ao29xaudksanf/e1.txt?dl=0 https://www.dropbox.com/s/q0sf3hew2pco73s/c1.txt?dl=0

cc1L3 <- read.table('./Colony 1 Location 3/c1.txt', header=TRUE)
ec1L3 <- read.table('./Colony 1 Location 3/e1.txt', header=TRUE)
Col1Loc3 <- ggplot()+
geom_smooth(data=ec1L3, aes(Time,Current1, colour= 'experimental1L3'))+
geom_smooth(data=ec1L3, aes(Time,Current2, colour= 'experimental1L3'))+
geom_smooth(data=ec1L3, aes(Time,Current3, colour= 'experimental1L3'))+
geom_smooth(data=ec1L3, aes(Time,Current4, colour= 'experimental1L3'))+
geom_smooth(data=ec1L3, aes(Time,Current5, colour= 'experimental1L3'))+
geom_smooth(data=ec1L3, aes(Time,Current6, colour= 'experimental1L3'))+
geom_smooth(data=ec1L3, aes(Time,Current7, colour= 'experimental1L3'))+
geom_smooth(data=ec1L3, aes(Time,Current8, colour= 'experimental1L3'))+
geom_smooth(data=ec1L3, aes(Time,Current9, colour= 'experimental1L3'))+
geom_smooth(data=ec1L3, aes(Time,Current10, colour= 'experimental1L3'))+
###############
geom_smooth(data=cc1L3, aes(Time,Current1, colour='control1L3'))+
geom_smooth(data=cc1L3, aes(Time,Current2, colour='control1L3'))+
geom_smooth(data=cc1L3, aes(Time,Current3, colour='control1L3'))+
geom_smooth(data=cc1L3, aes(Time,Current4, colour='control1L3'))+
geom_smooth(data=cc1L3, aes(Time,Current5, colour='control1L3'))+
geom_smooth(data=cc1L3, aes(Time,Current6, colour='control1L3'))+
geom_smooth(data=cc1L3, aes(Time,Current7, colour='control1L3'))+
geom_smooth(data=cc1L3, aes(Time,Current8, colour='control1L3'))+
geom_smooth(data=cc1L3, aes(Time,Current9, colour='control1L3'))+
geom_smooth(data=cc1L3, aes(Time,Current10, colour='control1L3'))

标签: rggplot2sumaverage

解决方案


分别计算mean()呢?

ec1L3$mean <- apply(ec1L3[2:ncol(ec1L3)],1, mean) # Calculating by row the mean
cc1L3$mean <- apply(cc1L3[2:ncol(cc1L3)],1, mean) # Calculating by row the mean
## Add each line to each graphic 
geom_smooth(data=ec1L3, aes(Time,mean, colour= 'experimental1L3'))
geom_smooth(data=cc1L3, aes(Time,mean, colour= 'control1L3'))

我希望它有所帮助。干杯!


推荐阅读