【问题标题】:Plotting grouped continuous variable vs. binary variable绘制分组连续变量与二进制变量
【发布时间】:2018-03-13 23:18:33
【问题描述】:

我有一个连续响应变量和一个二元预测变量。但是,该二元预测器也有两种形式(两个不同的年份)。我想创建一个两年分开但在同一个 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() 和各种绑定函数,但我不能似乎以任何方式对这些数据进行分区并获得输出。任何想法将不胜感激。

【问题讨论】:

  • 你能提供一个可重现的例子吗?很确定这是一个 dplyr “从长到宽”的问题,但需要验证。
  • boxplot(Wingspan ~ Infected + Year, data=dat) ?
  • @mysteRious 这不是一个“从长到宽”的问题,可以用这些数据完美地创建图表。但是,有点不清楚 OP 想要创建哪种类型的图表。示例代码生成一个点图,但 OP 说的是框。
  • @D.Money 另请参阅我对不同标题的建议。
  • @mysteRious 你的意思是我应该发布我的实际数据吗?抱歉,我是发帖新手,它并不像看起来那么容易。

标签: r dataframe figure


【解决方案1】:

这是你想要的吗:

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

编辑 1 对于箱线图,只需将geom_point() 更改为geom_boxplot()...就是这样:)

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

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

【讨论】:

  • 这基本上就是我要找的,是的!我知道有一句关于乞丐和选择者的说法,但是......有没有办法在基础 R 中做到这一点?我只是问,因为我对 ggplot 语法有点怀疑,我告诉自己我应该能够使用基本命令来处理这些数据。但是非常感谢您的回答,如果找不到替代方案,我将使用它。
  • 我不太擅长基础 R 绘图。但是,我肯定会鼓励您尝试 ggplot。语法真的不复杂,而且用途广泛。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-25
  • 1970-01-01
  • 2018-07-18
  • 1970-01-01
  • 2023-02-20
  • 2023-04-01
相关资源
最近更新 更多