graph - Point Plot with SE for 3 Categorical & 1 Continuous Variable in R -
i'm attempting generate single plot of points features values single measurement (len) in design 3 categorical variables (mea, tre, , sex).
i've produced plot has i'm looking split across 6 different subplots:
but i'd ideally have them in single plot if possible, preferentially using ggplot.
here current r code:
ggplot(mydf, aes(x=factor(mea), y=len), group=sex) + geom_point() + geom_errorbar(limits, width=0.1) + facet_wrap(~ tre + sex)
and sample data dput:
structure(list(mea = structure(c(1l, 1l, 1l, 1l, 1l, 1l, 2l, 2l, 2l, 2l, 2l, 2l), .label = c("po_p", "melaniz"), class = "factor"), tre = structure(c(1l, 1l, 2l, 2l, 3l, 3l, 1l, 1l, 2l, 2l, 3l, 3l), .label = c("a", "b", "c"), class = "factor"), sex = structure(c(1l, 2l, 1l, 2l, 1l, 2l, 1l, 2l, 1l, 2l, 1l, 2l), .label = c("male", "female"), class = "factor"), n = c(26, 26, 25, 25, 27, 27, 14, 13, 12, 11, 14, 13), len = c(10.6615384615385, 10.5807692307692, 10.292, 10.6, 10.2851851851852, 10.6518518518519, 11.4785714285714, 11.7153846153846, 11.7083333333333, 11.5, 11.6214285714286, 11.8923076923077), sd = c(0.869057845290829, 0.779753412698774, 0.722218803410712, 0.654471797202395, 0.906686148609193, 0.8040141456708, 1.0123685642542, 0.805032249712347, 1.13654846981659, 0.822192191643779, 0.833139171519908, 0.739889111580849 ), se = c(0.170436265829955, 0.152922225659293, 0.144443760682142, 0.130894359440479, 0.174491830656674, 0.154732594478434, 0.270566879755675, 0.223275773441538, 0.328093282497832, 0.247900273203854, 0.222665809666299, 0.205208317689404), ci = c(0.351020060264102, 0.314949219318153, 0.298117269908016, 0.270152680174426, 0.358673094717481, 0.318057403068012, 0.584524206501098, 0.486476119728297, 0.722128445903482, 0.552356230143519, 0.481040236068982, 0.447110515336101)), .names = c("mea", "tre", "sex", "n", "len", "sd", "se", "ci"), row.names = c(na, -12l), class = "data.frame")
to differentiate between categorical variables can use color, shape, size, pointtype, etc. here example using color , point type sex
, tre
,
library(ggplot2) limits <- aes(ymax=mydf$len+mydf$se, ymin=mydf$len-mydf$se) ggplot(mydf, aes(x=factor(mea), y=len, color=sex, pch=tre)) + geom_point(position=position_dodge(width=0.5)) + geom_errorbar(limits, position=position_dodge(width=0.5))
Comments
Post a Comment