在R中绘制该点图

时间:2018-08-11 13:00:27

标签: r ggplot2

我正在尝试制作此处显示的图像:

here

使用R代码。对于这种类型的图形,有什么比点图更好的东西吗?基本上,我想展示两个变量在两组之间的均值和变异性。下面提供了示例数据。谢谢一百万!

 id var1 var2 var3  var4 group
 1  12    3    22   60    1
 2  8     6    19   55    1
 3  25    30   70   26    2
 4  26    31   75   31    2
 5  22    29   80   29    2

1 个答案:

答案 0 :(得分:2)

就其价值而言,向下投票的IMO有点苛刻,但我认为您可以通过添加到目前为止所做的努力来提高问题的质量。 SO社区通常非常迅速并且渴望提供帮助,提供了,您可以证明自己已经做过一些工作。我没有否决您的问题,但您所累积的否决票很可能是由于缺乏您身边的尝试。对于以后的问题,您应该查看how to ask个问题,以及如何提供minimal reproducible example/attempt

此外,这是一个应该让您入门的示例

library(tidyverse)
df %>%
    gather(variable, v, -id, -group) %>%
    group_by(group, variable) %>%
    summarise(value = mean(v), value.sd = sd(v)) %>%
    ungroup() %>%
    mutate(
        variable = as.factor(variable),
        group = as.factor(group)) %>%
    ggplot(aes(x = value, y = variable, shape = group)) +
        geom_point(size = 4) +
        geom_segment(aes(x = value - value.sd, xend = value + value.sd, yend = variable))

enter image description here


样本数据

df <- read.table(text =
    "id var1 var2 var3  var4 group
 1  12    3    22   60    1
 2  8     6    19   55    1
 3  25    30   70   26    2
 4  26    31   75   31    2
 5  22    29   80   29    2", header = T)