在ggplot中使用facet_grid进行绘图

coolsv

假设我有以下内容data.frame

values<-runif(72)
factorA<-rep(c(rep('a',9),rep('b',9)),2)
criterion<-rep(rep(c(rep('1/4',3),rep('1/2',3),rep('2/3',3)),4),2)
case<-rep(c(rep('1',18),rep('2',18)),2)
samp<-rep(c('10','20','30'),24)
datasets<-c(rep('1',36),rep('2',36))
df<-data.frame(values,factorA,criterion,case,samp,datasets)

我想用来ggplot绘制values两者之间的平均值datasets如果我仅考虑子集datasets='1',则要构建以下图

library(ggplot2)
library(directlabels)
ggplot(subset(df,datasets %in% '1'),aes(x=samp,y=values,group=criterion))+
     geom_line(aes(linetype = criterion),size=1)+
     facet_grid(case~factorA,scales='free',space='free')+
     geom_dl(aes(label = criterion),method=list(dl.combine('first.qp','last.qp')))

产生 在此处输入图片说明

作为values随机获得。

我想精确地获得此图,但是其中每条线代表datasets对应值的两者之间的均值的轨迹例如,在面板中('a','1'),直线上的点criterion='1/4'和横坐标samp='10'必须是datasets1和2对应值的平均值直线上的点criterion='1/4'和横坐标samp='20'必须是datasets1和2对应值的平均值,依此类推。我该如何实现?我尝试过stat_summary()但没有成功...

bs93

我认为您可以使用dplyr的group_by进行总结以完成您描述的内容。1)按数据框列以外的所有变量对df进行分组,并2)计算每组的值列的平均值:

library(tidyverse)
library(directlabels)
set.seed(1)
values<-runif(72)
factorA<-rep(c(rep('a',9),rep('b',9)),2)
criterion<-rep(rep(c(rep('1/4',3),rep('1/2',3),rep('2/3',3)),4),2)
case<-rep(c(rep('1',18),rep('2',18)),2)
samp<-rep(c('10','20','30'),24)
datasets<-c(rep('1',36),rep('2',36))
df<-data.frame(values,factorA,criterion,case,samp,datasets)

#calculate means of the value columns by group
df_means <- df %>% 
  group_by(case, factorA, samp, criterion) %>% 
  summarize(mean_value = mean(values))

ggplot(df_means,aes(x=samp,y=mean_value,group=criterion))+
  geom_line(aes(linetype = criterion),size=1)+
  facet_grid(case~factorA,scales='free',space='free')+
  geom_dl(aes(label = criterion),method=list(dl.combine('first.qp','last.qp')))

检查所需的输出是否正确:

> df %>% 
+ filter(criterion == '1/4', factorA == 'a', samp == '10', case == '1')
     values factorA criterion case samp datasets
1 0.2655087       a       1/4    1   10        1
2 0.7942399       a       1/4    1   10        2
> mean(c(0.2655087, 0.7942399))
[1] 0.5298743
> df_means %>% 
+   filter(criterion == '1/4', factorA == 'a', samp == '10', case == '1')
# A tibble: 1 x 5
# Groups:   case, factorA, samp [1]
  case  factorA samp  criterion mean_value
  <chr> <chr>   <chr> <chr>          <dbl>
1 1     a       10    1/4            0.530

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ggplot2中使用`facet_grid`时,突出显示/在某些绘图周围画一个框

来自分类Dev

如何在ggplot2中使用facet_grid制作甜甜圈图?

来自分类Dev

在ggplot2中使用facet_grid的自定义散点图矩阵

来自分类Dev

ggplot:使用 facet_grid 对 geom_point 的 x 轴进行正确排序

来自分类Dev

R:在facet_grid(ggplot)中进行t.test

来自分类Dev

使用ggplot()和facet_grid()绘制几个图

来自分类Dev

是否可以在facet_grid()中使用geom_table()?

来自分类Dev

在ggplot2中使用facet_grid()时如何定义常见的y轴限制

来自分类Dev

r-如何在ggplot2中使用facet_grid获得长标签以适合?

来自分类Dev

绘制多列+ facet_grid(ggplot)

来自分类Dev

ggplot facet_grid标签上标

来自分类Dev

ggplot facet_grid x轴步进

来自分类Dev

R ggplot facet_grid 多箱线图

来自分类Dev

在ggplot2中使用facet_grid()函数时,如何使用labeller()函数获取列总计显示在构面的标签中

来自分类Dev

使用facet_grid时使用..count ..的R ggplot2

来自分类Dev

使用ggplot2中的facet_grid更改中断次数

来自分类Dev

使用facet_grid / ggplot2将时间序列数据偏移一天

来自分类Dev

如何使用ggplot2 facet_grid注释没有数据的构面?

来自分类Dev

如何使用ggplot在facet_grid中设置不同的y轴比例?

来自分类Dev

ggplot:facet_grid,但使用一个因子水平作为参考

来自分类Dev

如何使用 facet_grid 在 ggplot 中拟合 X 轴标签?

来自分类Dev

对于facet_grid,在geom_rug中使用与其余图表不同的数据

来自分类Dev

将参数传递给ggplot和facet_grid

来自分类Dev

facet_grid无法在ggplot for python中工作吗?

来自分类Dev

ggplot facet_grid具有不同的y映射

来自分类Dev

ggplot2中facet_grid的图层无效

来自分类Dev

改变ggplot2中的facet_grid输出

来自分类Dev

将水平条与ggplot中的facet_grid组合

来自分类Dev

ggplot中的facet_grid中的行式着色

Related 相关文章

  1. 1

    在ggplot2中使用`facet_grid`时,突出显示/在某些绘图周围画一个框

  2. 2

    如何在ggplot2中使用facet_grid制作甜甜圈图?

  3. 3

    在ggplot2中使用facet_grid的自定义散点图矩阵

  4. 4

    ggplot:使用 facet_grid 对 geom_point 的 x 轴进行正确排序

  5. 5

    R:在facet_grid(ggplot)中进行t.test

  6. 6

    使用ggplot()和facet_grid()绘制几个图

  7. 7

    是否可以在facet_grid()中使用geom_table()?

  8. 8

    在ggplot2中使用facet_grid()时如何定义常见的y轴限制

  9. 9

    r-如何在ggplot2中使用facet_grid获得长标签以适合?

  10. 10

    绘制多列+ facet_grid(ggplot)

  11. 11

    ggplot facet_grid标签上标

  12. 12

    ggplot facet_grid x轴步进

  13. 13

    R ggplot facet_grid 多箱线图

  14. 14

    在ggplot2中使用facet_grid()函数时,如何使用labeller()函数获取列总计显示在构面的标签中

  15. 15

    使用facet_grid时使用..count ..的R ggplot2

  16. 16

    使用ggplot2中的facet_grid更改中断次数

  17. 17

    使用facet_grid / ggplot2将时间序列数据偏移一天

  18. 18

    如何使用ggplot2 facet_grid注释没有数据的构面?

  19. 19

    如何使用ggplot在facet_grid中设置不同的y轴比例?

  20. 20

    ggplot:facet_grid,但使用一个因子水平作为参考

  21. 21

    如何使用 facet_grid 在 ggplot 中拟合 X 轴标签?

  22. 22

    对于facet_grid,在geom_rug中使用与其余图表不同的数据

  23. 23

    将参数传递给ggplot和facet_grid

  24. 24

    facet_grid无法在ggplot for python中工作吗?

  25. 25

    ggplot facet_grid具有不同的y映射

  26. 26

    ggplot2中facet_grid的图层无效

  27. 27

    改变ggplot2中的facet_grid输出

  28. 28

    将水平条与ggplot中的facet_grid组合

  29. 29

    ggplot中的facet_grid中的行式着色

热门标签

归档