我有一个数据集例如
outcome <- c(rnorm(500, 45, 10), rnorm(250, 40, 12), rnorm(150, 38, 7), rnorm(1000, 35, 10), rnorm(100, 30, 7))
group <- c(rep("A", 500), rep("B", 250), rep("C", 150), rep("D", 1000), rep("E", 100))
reprex <- data.frame(outcome, group)
Run Code Online (Sandbox Code Playgroud)
我可以将其绘制为“炸药”图:
graph <- ggplot(reprex, aes(x=group, y=outcome, fill=..y..)) +
stat_summary(geom = "bar", fun.y = mean) +
stat_summary(geom = "errorbar", fun.data = mean_cl_normal, width = 0.1)
Run Code Online (Sandbox Code Playgroud)
给予:
我还想在每列下方添加一个标签,指定该组中有多少个观察值。但是我不知道如何做到这一点。我试过:
graph + geom_label (aes(label=paste(..count.., "Obs.", sep=" ")), y=-0.75, size=3.5, color="black", fontface="bold")
Run Code Online (Sandbox Code Playgroud)
返回
Error in paste(count, "Obs.", sep = " ") …Run Code Online (Sandbox Code Playgroud) 我想创建一个 R 函数,在字符串中每 n 个单词之后插入一个“\n”(其中 n 是一个参数)。
例如
startstring <- "I like to eat fried potatoes with gravy for dinner."
myfunction(startstring, 4)
Run Code Online (Sandbox Code Playgroud)
会给出:
"I like to eat\nfried potatoes with gravy\nfor dinner."
Run Code Online (Sandbox Code Playgroud)
我相信要做到这一点,我需要将字符串分成几个部分,每个部分长 n 个单词,然后用“\n”分隔符将它们粘贴在一起。但是我不知道如何进行初始分割步骤。
有人可以建议吗?