- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的最终目标是让 stat_summary
使用现有的组成员身份向绘图添加摘要行。我在绘制线条时遇到了问题,虽然我理解这个问题,但我无法弄清楚如何避免引起它。
一个例子:
library(ggplot2)
df <- data.frame(low=c(20,24,18,16),
mid=c(60,61,48,45),
high=c(80,75,81,83),
category=factor(seq(1:4)),
membership=factor(c(1,1,2,2)))
p <- ggplot(df, aes(x=category, y=mid)) +
geom_linerange(aes(ymin=low, ymax=high)) +
geom_point(shape=95, size=8)
p
第一步是使用stat_summary
添加一行显示ymin
、y
和ymax
的平均值,像这样:
p +
stat_summary(data=df, aes(x="Aggregate", ymin=mean(low), y=mean(mid), ymax=mean(high)),
fun.data="mean", geom="linerange", inherit.aes=F) +
stat_summary(data=df, aes(x="Aggregate", y=mid), fun.y="mean", geom="point",
size=8, shape=95)
但是当我尝试使用 df
中的成员资格在组内生成均值时,我遇到了 linerange
的问题(尽管 point
图很好)。
p +
stat_summary(data=df, aes(x="Aggregates", ymin=low, y=mid, ymax=high, group=membership),
fun.ymin="mean", fun.y="mean", fun.ymax="mean", geom="linerange",
inherit.aes=F, position_dodge(0.5))
stat_summary(data=df, aes(x="Aggregates", y=mid, group=membership),
fun.y="mean", geom="point", size=8, shape=95, position_dodge(0.5))
我从 ggplot_build(p)
知道 ymin
=y
=ymax
,这就是为什么没有显示在情节上。但是,如果我使用 fun.data
而不是 fun.ymin
/fun.ymax
我会收到关于没有要求 ymin
和 ymax
美学。
$data[[3]]
x group ymin y ymax
1 5.125 2 46.5 46.5 46.5
2 4.875 1 60.5 60.5 60.5
如有任何帮助,我们将不胜感激!
最佳答案
您可能会发现,在将数据框传递给 ggplot()
进行绘图之前,计算分组均值更容易。以下是一种可能的方法:
library(dplyr)
df %>%
rbind(df %>%
mutate(category = "Aggregate") %>%
group_by(category, membership) %>%
summarise_all(mean) %>% # calculate mean for low / mid / high by group
ungroup() %>%
select(colnames(df))) %>% #reorder columns to match the original df
ggplot(aes(x = category, y = mid, ymin = low, ymax = high,
colour = membership)) +
geom_linerange(position = position_dodge(width = 0.5)) +
geom_point(shape = 95, size = 8,
position = position_dodge(width = 0.5))
(我添加了 color = membership
以使组在视觉上更加不同。)
关于r - 按组划分的 stat_summary 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52279112/
我的最终目标是让 stat_summary 使用现有的组成员身份向绘图添加摘要行。我在绘制线条时遇到了问题,虽然我理解这个问题,但我无法弄清楚如何避免引起它。 一个例子: library(ggplot
我正在尝试绘制两列原始数据(我使用 melt 将它们组合成一个数据框),然后为每列添加单独的误差线。但是,我想为每一列的原始数据设置一对颜色,将误差线设置为另一组颜色,但我似乎无法让它工作。我得到的情
我敢肯定答案很简单,但目前我还不知道。我想使用 stat_summary() 制作一个折线图,每个组(表示实验条件)在每个 x 轴刻度(表示单独的时间点)处具有不同的形状。 这是数据 set.seed
我正在尝试使用 stat_summary 向折线图添加误差线在 ggplot2 中,但是当我对图形进行分面时它不起作用 我的数据: date week year location imidac
我如何使用 stat_summary用 n = x 标记绘图在哪里x一个变量?这是所需输出的示例: 我可以用这个相当低效的代码制作上面的图: nlabels <- sapply(1:length(un
我有一个数据集,例如 outcome % group_by(group) %>% count(), aes(label = paste0(n, " Obs."), x = gr
所以我正在使用这个数据框: xym <- data.frame( Var1 = c("vloga", "odločitve", "dolgoročno", "krizno", "
我正在尝试制作一个 ggplot 图,使用 face_grid 显示一个变量 (SIZE) 与另一个变量 (ZONE) 的比例,然后在每个类别中显示二进制变量的平均值(BG) 使用stat_summa
所以我正在使用这个数据框: xym <- data.frame( Var1 = c("vloga", "odločitve", "dolgoročno", "krizno", "
我有一个图,其中我显示了多个主题的个体值,并按组着色。添加到每组的平均值,使用 stat_summary 计算。 我希望这两种方法按组着色,但颜色不同于单个数据。事实证明这很困难,至少在使用 stat
当我尝试将参数传递到 round 时出现错误内函数stat_summary (即使类似的代码适用于,比如说, geom_text )。下面是一个例子: # Fake data set.seed(5)
这是我当前的脚本和输出: ggplot(data.and.factors.prov,aes(x=assumptions,y=FP, colour=fact
ggplot2 自动调整数据点的 ylim。有什么方法可以调整 stat_summary 的 ylim 吗? df <- structure(list(Varieties = structure(c(
我有 4 个部门(A、B、C、D)和 5 年的数据。我想画 4 条线,每个部门 1 条线,每年添加一个点,并使用 stat_summary 语句添加代表平均线的第五条线,并通过 scale_color
我问 this刚才的问题。在这种情况下,该解决方案有时似乎有效。这是使用 mpg 的示例数据集。 我的目标是使用 stat_summary 在每个方面的数据中位数出现的位置放置一条垂直线。 .请注意,
我有以下代码: ggplot(iris, aes(x=Species, y=Sepal.Length)) + stat_summary(fun.y=mean, geom='point', size=2
我正在尝试显示两组数据。我使用 ggplot2 包来绘制数据图表,并使用 stat_summary() 来获取数据图中的点估计(平均值)和 90% CI。我想要的是将平均值和置信区间构造在表示数据分布
我有以下代码: ggplot(iris, aes(x=Species, y=Sepal.Length)) + stat_summary(fun.y=mean, geom='point', size=2
如何使用 ggplot2 和 stat_summary 来显示我选择的颜色?例如: simVol <- data.frame(simId=c(1,1,1,1,2,2,2,2),
这个问题与How to change boxplot settings when stat_summary is used有关,在那里我设法构建了漂亮的单色箱线图。 但是,由于“单色”,中间段的颜色无
我是一名优秀的程序员,十分优秀!