条形图在R ggplot2

时间:2017-04-25 03:16:17

标签: r plot ggplot2 bar-chart categorical-data

我正在尝试用一个连续变量绘制一个带有3个分类的条形图。在excel或谷歌电子表格中很容易做到,但ggplot2代码有点难。我尝试修改此功能但无法使其正常工作:https://www.r-bloggers.com/how-to-plot-three-categorical-variables-and-one-continuous-variable-using-ggplot2/。我需要的是对于一个分类组(NW,OB)和另一个(M,F)按两个时间段(0,60)分组的y轴数据(V),因此您在两组中有四个条形(按性别和按体重)。我正在使用每个组的V的平均值而不是整个数据集。值为V0M 1.680 V0F 1.59 V60M 1.673,V60F 1.479,V0NW 1.679,V60NW 1.69 V0OB 1.613,V60OB 1.507

我尝试了上述代码的变体,但无法使其正常工作。 Point Plot with SE for 3 Categorical & 1 Continuous Variable in R的答案看起来好像可以使用完整的数据集,但我想创建另一个等同于“mea”变量的分组。错误栏会很好但不是必需的。只有手段才可以在ggplot2中完成吗?提前谢谢。

> dput(A0068tinyhead)
structure(list(A = c("", "", "1", "2", "3", "4"), B = c("", "gender", 
"F", "F", "F", "F"), C = c("", "b", "normal", "normal", "normal", 
"normal"), D = c("", "V0", "1.4", "1.98", "1.98", "1.91"), E = c("", 
"V0NW", "1.4", "1.98", "1.98", "1.91"), F = c("", "VOOB", "1.84", 
"1.75", "1.12", "1.75"), G = c("", "V0F", "1.4", "1.98", "1.98", 
"1.91"), H = c("", "V0M", "1.75", "1.45", "1.47", "1.86"), I = c("", 
"V60", "1.6", "1.77", "1.89", "1.63"), J = c("", "V60NW", "1.6", 
"1.77", "1.89", "1.63"), K = c("", "V60OB", "1.8", "1.51", "1.22", 
"1.1"), L = c("", "V60F", "1.6", "1.77", "1.89", "1.63"), M = c("", 
"V60M", "1.5", "1.73", "1.82", "1.55")), .Names = c("A", "B", 
"C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M"), row.names = c(NA, 
6L), class = "data.frame")

> dput(A0068tinytail)
structure(list(A = c("45", "46", "47", "48", "49", "50"), B = c("M", 
"M", "M", "M", "M", "M"), C = c("obese", "obese", "obese", "obese", 
"obese", "obese"), D = c("1.57", "1.81", "1.91", "1.69", "1.59", 
"1.78"), E = c("", "", "", "", "", ""), F = c("", "", "", "", 
"", ""), G = c("", "", "", "", "", ""), H = c("", "", "", "", 
"", ""), I = c("1.54", "1.63", "1.53", "1.54", "1.67", "1.5"), 
    J = c("", "", "", "", "", ""), K = c("", "", "", "", "", 
    ""), L = c("", "", "", "", "", ""), M = c("", "", "", "", 
    "", "")), .Names = c("A", "B", "C", "D", "E", "F", "G", "H", 
"I", "J", "K", "L", "M"), row.names = 47:52, class = "data.frame")

0 个答案:

没有答案