【发布时间】:2019-05-10 08:43:39
【问题描述】:
数据集在此处可用,但我仅使用 2010 年至 2016 年的数据集作为子集:https://www.kaggle.com/heesoo37/120-years-of-olympic-history-athletes-and-results/
我正在尝试用箱线图绘制不同性别的高度,它会返回此图:
我觉得这是不正确的,因为异常值太多......(平均值=175,最小值=133,最大值=221)。
我想知道是否需要调整 Y 轴以在此箱线图中包含更多数据点?如果是这样,我该怎么做?
这是我的代码:
ggplot(data = olympics, aes(x = Sex, y = Height) +
geom_boxplot() +
labs(title= "Height Distribution of Olympics Athletes by Gender")
另外,我想知道是否也可以使用基本 R 语言绘制这样的图表?谢谢!
【问题讨论】:
-
数据链接失效。请使用例如提供它
dput. -
"我觉得这不正确,因为异常值太多...(mean=175, min=133, max=221)。"为什么你会有这种“感觉”?括号中的数字与您的“感受”有何关系?
-
只需在 R 中执行
dput(olympics)并将输出粘贴到您的问题中。 -
该图很可能是正确的,您只是有那么多异常值,而 ggplots 的默认胡须长度是强制执行的。如果您想将晶须扩展到 1.5 的四分位数范围之外,您可以通过在对
boxplot的调用中使用coef来实现。一个例子是输入ggplot(data = olympics, aes(x = Sex, y = Height) + geom_boxplot(coef = 10) + labs(title= "Height Distribution of Olympics Athletes by Gender")。注意:这当然只会改变您的数据的显示方式 -
我赞同@kath 和@Roland 的观点。如果您使用
dput()提供数据会容易得多。包括我在内的许多用户都不倾向于注册网站并手动下载数据集,因此如果您需要帮助,请让我们更轻松:)