我想在ggplot可视化中显示基于卡方检验的误差线。
这是我的数据
version <- c("A", "A", "A", "A", "B", "B", "B", "B")
group <- c(1, 2, 3, 4)
values <- c("100", "2000", "500", "800",
"110", "2500", "800", "1100")
data.frame(version, group, values) %>%
ggplot(aes(group, values, fill = version, label = values)) +
geom_col(position = "dodge") +
geom_text(position = "dodge")
这是不带条形图
我想要基于卡方检验的误差线,例如here。
答案 0 :(得分:2)
要添加误差线,您需要使用geom_errorbar
进行绘制并将sd
添加到数据框中。
下面是一个mtcars
数据集的简单示例:
library(dplyr)
df = mtcars[c(1:50),]
df = df[!is.na(df$cyl),]
df = df %>%
select(., mpg,cyl,gear) %>%
group_by(cyl, gear) %>%
summarise(Mean = mean(mpg), Sd = sd(mpg))
df
# A tibble: 8 x 4
# Groups: cyl [3]
cyl gear Mean Sd
<dbl> <dbl> <dbl> <dbl>
1 4 3 21.5 NA
2 4 4 26.9 4.81
3 4 5 28.2 3.11
4 6 3 19.8 2.33
5 6 4 19.8 1.55
6 6 5 19.7 NA
7 8 3 15.0 2.77
8 8 5 15.4 0.566
现在是绘图部分:
library(ggplot2)
ggplot(df,aes(x = as.factor(cyl), y = Mean, fill = as.factor(gear))) +
geom_col(position = "dodge") +
geom_errorbar(aes(ymin = Mean-Sd, ymax = Mean+Sd),width=.2,
position=position_dodge(.9))
是您要找的东西吗?