【发布时间】:2021-05-04 13:34:22
【问题描述】:
我对下面代码的结果有点困惑。我称为 aux (the data) 的数据框包含一个因子和一个定量变量。我想根据因子的水平绘制定量变量的平均值。
代码还会创建第二个数据框,其中包含这些分组的平均值。
然后有两个情节。第一个对我来说很好:它以两种不同的方式绘制正确的值,即在原始 aux 数据框上使用 stat_summary() 或 geom_point( ) 在 aux.grouped 数据框上。
但是,当我尝试绘制定量变量的 log10 值时,stat_summary() 并没有绘制出我预期的结果。我知道在 ggplot 映射线上的 aes 下使用 log10 可能是这个问题的根源。我没有得到的是 stat_summary() 正在绘制什么,以及为什么它不绘制,如果涉及到不匹配的映射问题,则改为非 log10 值。
非常感谢您的帮助。
最好的,
大卫
aux <- read.table("aux.txt", header = TRUE, sep = "\t")
aux$nb.NAs <- factor(aux$nb.NAs)
aux.grouped <- aux %>%
group_by(nb.NAs) %>%
dplyr::summarise(mean_values = mean(values))
ggplot(aux, aes(x = nb.NAs, y = values, group = nb.NAs)) +
stat_summary(geom = "point", fun = "mean", colour = "red", size = 10) +
geom_point(data = aux.grouped, aes(x = nb.NAs, y = mean_values), colour = "blue", size = 5)
ggplot(aux, aes(x = nb.NAs, y = log10(values), group = nb.NAs)) +
stat_summary(geom = "point", fun = "mean", colour = "red", size = 5) +
geom_point(data = aux.grouped, aes(x = nb.NAs, y = log10(mean_values)), colour = "blue", size = 5)
【问题讨论】:
-
您能否提供您的数据集样本,以便我们重新运行该代码?你可以用 dput(data) 来做到这一点
-
嗨,里奥,喜欢这个吗?
-
结构(列表(nb.NAs =结构(c(2L,1L,1L,2L,2L,1L,2L,2L,1L,1L),.Label = c(“2”, “3”),class= “因子”),值= C(5584949.80357048,8014873.492117,17206608.4238154,1524223.86730749,5882593.98508629,19907181.0901551,4945004.91561103,20886241.7691373,51093766.9511132,6436423.4434915)),row.names = C(1L,2L,3L, 4L, 5L, 6L, 7L, 8L, 12L, 16L), class= "data.frame")
-
这不是全部,但我想它会做。原始辅助数据集可在我原始帖子的链接中找到。谢谢。