R 数据帧中两列的箱线图
我有一个数据帧(df),有3列:R 数据帧中两列的箱线图,r,plot,boxplot,R,Plot,Boxplot,我有一个数据帧(df),有3列: test1 test2 res 500 23 30.75 200 23 31.36 110 26 30.38 105 23 31.57 55 21 33.56 35 21 31.39 27 18 36.89 23 23 35.44 我想要两个结果都有一个图表。我已经基于“res”融化
test1 test2 res
500 23 30.75
200 23 31.36
110 26 30.38
105 23 31.57
55 21 33.56
35 21 31.39
27 18 36.89
23 23 35.44
我想要两个结果都有一个图表。我已经基于“res
”融化了数据,并调用了新的(df_melt
)并得到以下结果:
res variable value
30.75 test1 500
31.36 test1 200
30.38 test1 110
31.57 test1 105
33.56 test1 55
31.39 test1 35
36.89 test1 27
35.44 test1 23
30.75 test2 23
31.36 test2 23
30.38 test2 26
31.57 test2 23
33.56 test2 21
31.39 test2 21
36.89 test2 18
35.44 test2 23
现在,我想根据变量列对数据进行框绘,x轴=res,y轴=value。因此,我希望每个“res
”值有两个箱线图,因为变量中有两种类型的数据(即test1和test2)
我试过这个:
boxplot(df_melt$value~df_melt$res)
我只得到了8个箱线图,不清楚是哪一个测试???如何将第二个测试添加到图表中,以便比较它们
我想把它们放在一起以便比较的全部原因 我想您正在寻找条形图,因为无法基于单个值生成箱线图
library(ggplot2)
ggplot(df_melt, aes(x = factor(res), y = value, fill = variable)) +
geom_bar(stat="identity", position="dodge")
更新:基于OP评论的箱线图解决方案: 可以使用以下方法生成具有不同颜色的多个箱线图的模拟图:
ggplot(df_melt, aes(x = factor(res), y = value, fill = variable)) +
geom_boxplot() +
scale_fill_manual(values = c("white", "darkgray"))
请注意,只有在value
中针对res
和variable
的每个组合有多个值时,此图才有意义
箱线图的颜色为白色和深灰色。您可以使用
scale\u fill\u manual
功能修改颜色 是,您是箱线图,不能为单个值绘制。我已修改数据,使单个值X有多个值。是的,您是对的,不能为单个值绘制箱线图。我修改了数据,使单个值X有多个值。它可以工作。我只需要知道如何控制不同结果的颜色。是否可以使用另一种方法来区分两个结果箱线图,例如着色,这样当我以黑白打印图形时,我将能够看到两个不同的结果。