【问题标题】:How to plot a bloxplot in R with subsets如何在 R 中用子集绘制箱线图
【发布时间】:2016-04-04 17:58:15
【问题描述】:

我的数据集“olympics”有 4 列:案例编号、身高、运动和性别(女=F,男=M),每一行对应一个运动员。

我需要制作一个比较男性篮球运动员和男性足球运动员身高分布的箱线图。 (两个运动都在一个情节上,但没有其他运动。)

我试过了

boxplot(olympics$height[olympics$sex == "M" & olympics$sport %in% c("basketball", "football")])

但我不断收到错误消息,说需要有限的 ylim 值。你如何得到正确的箱线图?

【问题讨论】:

  • ?boxplot 帮助页面中的示例不会与此问题完全相似吗?很难说你的问题是什么,因为没有数据,甚至没有来自olympicsstr 结果。无限价值?

标签: r subset boxplot


【解决方案1】:

因为我找到了你的数据集并弄清楚你的问题是什么,所以我打算重写这个。你有很多错别字。 R 区分大小写。运行此代码,它将生成您想要的箱线图。

library(VGAMdata)
data(oly12)

dat = oly12

dat = dat[dat$Sport %in% c("Basketball","Football"),]
dat$Sport = droplevels(dat$Sport)
dat = dat[dat$Sex == "M",]
boxplot(dat$Height ~ dat$Sport)

【讨论】:

  • 非常感谢您的回答,我现在唯一的问题是,当我输入 dat$Sport = droplevels(dat$Sport) 时,我收到一条错误消息,提示“没有适用于 'droplevels' 的方法应用于“NULL”类的对象。你知道为什么会这样吗?
  • @Lucinda 听起来 Dat 下没有保存任何内容。尝试打印出 Dat,看看是否有任何内容。
  • @Lucinda 如果你想粘贴你的代码,我可以告诉你发生了什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-29
  • 1970-01-01
  • 2023-04-03
  • 2019-08-23
  • 1970-01-01
  • 2018-10-20
  • 1970-01-01
相关资源
最近更新 更多