r - ggplot未按预期绘制箱线图
问题描述
考虑下面的 MWE。我想根据这些想法生成箱线图:
Food
在根据Amot
for排序的 y 轴上Home
,而Amt
在 x 轴上 (1:40)- 显示覆盖框的平均点
- 根据数据中站点的
Food
中位数排序的箱线图Home
dfsummary
- 观察的文本注释
N
(取自dfsummary
数据)
MWE
df <- data.frame(
Site = sample(rep(c("Home", "Office"), size = 884)),
Food = sample(rep(c("Banana","Apple","Egg","Berry","Tomato","Potato","Bean","Pea","Nuts","Onion","Carrot","Cabbage","Eggplant"), size=884)),
Amt = sample(seq(1, 40, by = 0.25), size = 884, replace = TRUE)
)
random <- sample(seq(1, 884, by = 1), size = 100, replace = TRUE) # to randomly introduce 100 NAs to Amt vector
df$Amt[random] <- NA
摘要代码
dfsummary <- df %>%
dplyr::group_by(Food, Site) %>%
dplyr::summarise(Median = round(median(Amt, na.rm=TRUE), digits=2), N = sum(!is.na(Amt))) %>%
ungroup()
ggplot代码
p1 <- ggplot(df, aes(Amt, Food)) +
geom_boxplot() +
facet_grid(facets = . ~ Site)
图形
我期待在这里看到箱线图。
添加注释
p2 <- p1 + geom_text(aes(y = 42, Food, label = paste("n=", N)), data = dfsummary, size = 3, nudge_x = 0.1) +
facet_grid(facets = . ~ Site)
不幸的是,这也不起作用。
笔记
- tidyverse 版本是 1.3.0
- R 版本 3.6.2 (2019-12-12) -- 《黑暗与暴风雨之夜》
解决方案
推荐阅读
- python - 如何解决与 win32types 相关的 PyInstaller 错误?
- r - 将因子类型的所有变量更改为小写的函数
- arrays - 无法访问方括号下的json数据-nodejs
- mysql - MySQL平均函数未返回预期结果
- javascript - 为什么我的 React 组件在按 useState() 控制的值进行过滤时显示不正确的数据?
- javascript - 计算字符串中的括号
- node.js - 如何使用 sequelize ORM 在 postgres 中定义外键约束?
- javascript - 开玩笑模拟“点击”的作品古怪而测试失败
- dart - 如何为字段的注释生成 Dart 代码?
- c# - 如何将值从 Form 传递到 UserControl?