如何为R中的同一类别并排绘制两个几何?(错误barjitter)

罗恩·莱维汀

我在howtogiveatalk.com发现了David L. Stern的一些有用的数据,在每个分类变量的均值/标准差摘要旁边都有一个抖动图。

这是上面链接页面的第一个示例 在此处输入图片说明

我花了一些时间试图在网上找到类似的数字,但是没有。

我不确定他用来创建这些图形的软件和软件包(更新:David Stern回答并解释说他使用定制的Matlab函数)。我对R和ggplot2最熟悉,并且认为使用这些工具可以创建类似的东西。我试图跳进去,但无法弄清楚从这里去哪里。

我如何开始:

library(dplyr)
library(ggplot2)
library(tidyr)

df <- data_frame(a = rnorm(100, mean = 0.75, sd  = 0.5), b = rgamma(100, shape = 0.75, scale = 0.5), c = rbinom(100, size = 1, prob = 0.6))
df <- gather(df)
df.sum <- df %>% group_by(key) %>% summarise(mean = mean(value), sd = sd(value))

ggplot(data = df.sum, aes(x = key)) + 
  geom_jitter(data = df, aes(y = value)) + 
  geom_point(aes(y = mean)) +
  geom_linerange(aes(x = key, y = mean, ymin = (mean - sd), ymax = (mean + sd))) +
  theme_bw()

产生下图: 在此处输入图片说明

该代码相当粗糙,但是可以使用大部分方式。但是,我不知道如何将geom_point和geom_linerange移动到抖动旁边。

那么如何在R中创建此图形(最好使用ggplot2)呢?

罗恩·莱维汀

我知道了!我将在此处发布答案,以供将来参考以及其他想要进行类似绘制的人。

对我而言,关键在于将x轴从一个因子转换为一个数值,以便应用该移位。

library(dplyr)
library(ggplot2)
library(tidyr)

set.seed(125)

df <- data_frame(Normal = rnorm(100, mean = 0.5, sd  = 0.5), 
                 Gamma = rgamma(100, shape = 0.5, scale = 0.5), 
                 Bimodal = c(rnorm(50, mean = 0.1, sd = 0.15), rnorm(50, mean = 0.9, sd = 0.15))
                 )
df <- gather(df)
df.sum <- df %>% 
  group_by(key) %>% 
  summarise(mean = mean(value), sd = sd(value))

ggplot(data = df, aes(x = key, y = value)) + 
  geom_jitter(position = position_jitter(width = 0.2), shape = 1, size = 3.5) + 
  geom_pointrange(data = df.sum, aes(x = as.numeric(key)+0.3, y = mean, ymin = (mean - sd), ymax = (mean + sd))) +
  geom_point(data = df.sum, aes(x = as.numeric(key)+0.3, y = mean), size = 3.5) +
  theme_bw() + xlab("") + ylab("Arbitrary Units")

样例图

如果可以将此代码改编为ggplot扩展名,以使其成为简单的几何图形,那就太好了。如果可以的话,我可能会自己挑战。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何为同一类别但英寸略有不同的布局定义两个不同的布局?

来自分类Dev

如何在Django中获取同一类别中的所有帖子

来自分类Dev

如何计算同一类的两个对象?

来自分类Dev

同一类中两个方法的同步

来自分类Dev

从同一类别中选择多个产品?

来自分类Dev

XACML 3.0中同一类别中的多个属性

来自分类Dev

同一类别下两个对象之间的比较

来自分类Dev

将两个不同的利率集应用于同一类别的两个对象

来自分类Dev

如何为带有两个参数的类型创建仿函数实例,其中两个参数必须为同一类型?

来自分类Dev

同一活动中同一类的两个片段不起作用

来自分类Dev

在属于同一类别的单个列中获取多个图像时如何使图像并排对齐

来自分类Dev

如何判断两个模板类是否为同一类型

来自分类Dev

如何使用LuaBridge注册从同一类继承的两个类?

来自分类Dev

如何使用LuaBridge注册从同一类继承的两个类?

来自分类Dev

归结同一类的两个关系

来自分类Dev

同一类的两个名称空间

来自分类Dev

同一类Django的两个外键

来自分类Dev

C#-如何在两个不同的dll中引用同一类型?

来自分类Dev

如何使两个不同特征中的依赖类型被识别为同一类型

来自分类Dev

在一行中为同一类的两个对象调用相同的方法

来自分类Dev

R ggplot2在同一类别标签中使用斜体和非斜体

来自分类Dev

如何检查两个实例是否属于同一类Python

来自分类Dev

如何判断两个javascript实例是否属于同一类类型?

来自分类Dev

如何从同一类中选择两个文本?

来自分类Dev

当同一类中的两个或多个方法使用相同的名称时

来自分类Dev

使用改造调用同一类中的两个 API

来自分类Dev

如何计算同一类的两个平均值,并得到两个输出?

来自分类Dev

如何将两个值从一个函数传递到同一类中的另一个函数?

来自分类Dev

如何在 R 中的同一图中绘制两个不同的用户定义函数

Related 相关文章

  1. 1

    如何为同一类别但英寸略有不同的布局定义两个不同的布局?

  2. 2

    如何在Django中获取同一类别中的所有帖子

  3. 3

    如何计算同一类的两个对象?

  4. 4

    同一类中两个方法的同步

  5. 5

    从同一类别中选择多个产品?

  6. 6

    XACML 3.0中同一类别中的多个属性

  7. 7

    同一类别下两个对象之间的比较

  8. 8

    将两个不同的利率集应用于同一类别的两个对象

  9. 9

    如何为带有两个参数的类型创建仿函数实例,其中两个参数必须为同一类型?

  10. 10

    同一活动中同一类的两个片段不起作用

  11. 11

    在属于同一类别的单个列中获取多个图像时如何使图像并排对齐

  12. 12

    如何判断两个模板类是否为同一类型

  13. 13

    如何使用LuaBridge注册从同一类继承的两个类?

  14. 14

    如何使用LuaBridge注册从同一类继承的两个类?

  15. 15

    归结同一类的两个关系

  16. 16

    同一类的两个名称空间

  17. 17

    同一类Django的两个外键

  18. 18

    C#-如何在两个不同的dll中引用同一类型?

  19. 19

    如何使两个不同特征中的依赖类型被识别为同一类型

  20. 20

    在一行中为同一类的两个对象调用相同的方法

  21. 21

    R ggplot2在同一类别标签中使用斜体和非斜体

  22. 22

    如何检查两个实例是否属于同一类Python

  23. 23

    如何判断两个javascript实例是否属于同一类类型?

  24. 24

    如何从同一类中选择两个文本?

  25. 25

    当同一类中的两个或多个方法使用相同的名称时

  26. 26

    使用改造调用同一类中的两个 API

  27. 27

    如何计算同一类的两个平均值,并得到两个输出?

  28. 28

    如何将两个值从一个函数传递到同一类中的另一个函数?

  29. 29

    如何在 R 中的同一图中绘制两个不同的用户定义函数

热门标签

归档