r - 如何创建合适的 geom_boxplot?
问题描述
我正在尝试创建一个常规的箱线图,但是却得到了一个奇怪的虚线图。
您能否向我指出我做错了什么以及如何纠正它?
非常感谢你。
box_plot <- comb_rpt %>%
filter(!is.na(oracle_contract_desc.x),
service_mnth %in% c('2018-01', '2018-02', '2018-03', '2018-04',
'2018-05', '2018-06', '2018-07')) %>%
ggplot(aes(x = service_mnth, y = var_est_to_actual)) +
geom_boxplot()
我奇怪的箱线图看起来像一个点:
正确的箱线图看起来像一个实际的盒子,带有颜色填充
解决方案
我的猜测是你在per中有很多0
s 。var_est_to_actual
service_mnth
让我们重现“问题”。
首先,我们从宽法线生成数据并显示箱线图。
set.seed(2018)
df <- setNames(data.frame(
rnorm(100, sd = 100),
rnorm(100, sd = 100)), c("2018-01", "2018-02"))
library(tidyverse)
df %>%
gather(service_mnth, var_est_to_actual) %>%
ggplot(aes(service_mnth, var_est_to_actual)) +
geom_boxplot()
service_mnth
我们现在用s替换 70% 的观察值0
,并再次显示修改后的数据的箱线图。
df %>%
gather(service_mnth, var_est_to_actual) %>%
group_by(service_mnth) %>%
mutate(frac = (1:n()) / n()) %>%
mutate(var_est_to_actual = if_else(frac < 0.7, 0, var_est_to_actual)) %>%
ggplot(aes(service_mnth, var_est_to_actual)) +
geom_boxplot()
请注意与您显示的箱线图的相似性。
推荐阅读
- java - 扫描仪需要两个输入
- java - 如何实现一个引用主对象中定义的父对象的静态方法?
- symfony - PhpStorm 无法识别 KernelBrowser getResponse 函数
- reactjs - 我可以控制台记录我的状态,但我仍然得到“无法读取未定义的属性'数据'”。为什么?
- python - 如何从excel文件中更改xml值
- uwp - 在所有 3 个平台(x86、x64、ARM)中将 UWP 应用上传到 Microsoft Store
- python - 在没有大数据基础设施的情况下,如何最有效地平均 Python 中数百个文件的各个列?
- python - 在从 Excel 范围填充的嵌套元组上使用 join()
- android - RecyclerView 不显示任何项目
- python - 如何从 excel 表中复制数据并粘贴到谷歌浏览器中?