绘制分组连续变量与二进制变量

时间:2018-03-13 23:18:33

标签: r dataframe figure

我有一个连续的响应变量和一个二进制预测变量。但是,该二进制预测器也有两种形式(两年不同)。我想创建一个盒子图,两年分开,但在同一个x变量列中。

这是一个像我一样的假设数据框设置

    Wingspan     Infected     Year
    15.3         1            2015
    14.9         1            2015
    15.9         0            2016  
    15.0         1            2016
    13.8         0            2015
    16.1         0            2016
    14.2         1            2015
    15.9         1            2015 
    13.7         0            2016
    16.4         0            2016
    13.9         0            2016
    14.0         1            2015

通过

来获取输出很容易
    Model <- Wingspan ~ Infected
    plot(Model)

但是,我希望Infected列每列有2个盒子,一个用于2015,一个用于2016.我已尝试各种功能来分割数据,如split()和各种绑定功能但我可以&似乎以任何方式对这些数据进行分区并获得输出。任何想法都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是你想要的:

require(read.so) #Awesome package by @Alistaire47
dat <- read.so()
require(ggplot2)

ggplot(dat, aes(as.character(Infected), Wingspan, color = as.character(Year))) + 
geom_point()
#I have used as.character in order to prevent R reading the numbers as , 
#... well... , numbers

enter image description here

编辑1 对于箱形图,只需将geom_point()更改为geom_boxplot() ...即全部:)

编辑2 对于基础R中的不同颜色,将以下内容添加到@ thelatemail的代码:

boxplot(Wingspan ~ Infected + Year, data=dat, boxfill = dat$Year)
#again, try ggplot. Very rewarding, in terms of getting nice graphs.

enter image description here