R和ggplot2:为重叠范围创建摘要统计信息

R和ggplot2:为重叠范围创建摘要统计信息,r,ggplot2,R,Ggplot2,我有一组以多个变量为特征的记录,标记为“in”或“out”。我想把所有记录和标记为“in”的记录一起绘制汇总统计数据,而每个点只绘制一次,用彩色显示哪些是“in”或“out”。我该怎么做?我只知道如何绘制“输入”和“输出”组的汇总统计数据(参见下面的代码),而不知道如何绘制“输入”和“全部”的汇总统计数据。 如果图例解释了点的颜色(如我的插图所示)以及错误条的颜色,这将是一个加号 library(data.table) library(ggplot2) d = data.table(v1 = r

我有一组以多个变量为特征的记录,标记为“in”或“out”。我想把所有记录和标记为“in”的记录一起绘制汇总统计数据,而每个点只绘制一次,用彩色显示哪些是“in”或“out”。我该怎么做?我只知道如何绘制“输入”和“输出”组的汇总统计数据(参见下面的代码),而不知道如何绘制“输入”和“全部”的汇总统计数据。 如果图例解释了点的颜色(如我的插图所示)以及错误条的颜色,这将是一个加号

library(data.table)
library(ggplot2)
d = data.table(v1 = rnorm(10, 0, 1),
              v2 = rnorm(10, 1, 2),
              g = as.factor(c(rep('in', 7), rep('out', 3))))
m = melt(d, c('g'))
print(ggplot(m, aes(x = variable, y = value, colour = g)) +
      facet_wrap(~variable, scales = "free") +
      geom_jitter(position = position_jitter(height = 0, width = 0.2)) +
      stat_summary(fun.data = mean_se, geom = "errorbar", width = 0.25))

如果要显示输入和输出点,但输入和总计的错误栏,则应移动颜色命令,并为输入和全部添加不同的统计摘要:

library(data.table)
library(reshape2) #needed because data.table::melt will only work with reshape2
library(ggplot2)
d <- data.table(v1 = rnorm(10, 0, 1),
               v2 = rnorm(10, 1, 2),
               g = as.factor(c(rep('in', 7), rep('out', 3))))

m <- melt(d, c('g'))

ggplot(m, aes(x = variable, y = value)) + # removed colour here
        facet_wrap(~variable, scales = "free") +
        geom_jitter(aes(colour = g), position = position_jitter(height = 0, width = 0.2)) + #added color here
        stat_summary(fun.data = mean_se, geom = "errorbar", width = 0.25) + #errorbars for total observations
        stat_summary(data=m[m$g == "in",], fun.data = mean_se, geom = "errorbar", width = 0.25, colour = 2) # errorbars for "in" group
库(data.table)
库(重塑2)#需要,因为data.table::melt仅适用于重塑2
图书馆(GG2)

d“绘图摘要统计信息”的确切含义是什么?您想要的最终绘图是什么样子的?所谓摘要统计信息,我指的是“stat_summary”提供的功能(参见示例代码)。最后的绘图与我提供的绘图类似,只是您将使用“in”和“all”而不是“in”和“out”(“all”表示所有行,“out”表示g表示“out”的行)。您的代码给出“Error:找不到函数“melt”)。这是因为,虽然data.table中有
melt
,但您也需要加载包整形2(根据“?melt”)。它在我的机器上没有给出错误。您似乎正在使用旧版本的data.table。这是我的版本的帮助所说的:“从1.9.6开始,要熔化或铸造data.tables,不再需要加载'Reforme2'。如果必须,请在加载'data.table'之前加载'Reforme2'包。”感谢您的帮助!是的,这是可行的-除了现在标记为“in”的行有两点。@jciloa数据复制可能有问题。我将在以后研究它,我现在有点忙…我认为数据复制是正确的。只有这种方法要求“全部”中出现“输入”点,这对绘制汇总统计数据很有用,但这些点将被绘制两次(由于增加了抖动,通常会被看到两次)。@jciloa Aha,我想我现在明白了:您想显示输入和输出点,但显示输入和所有的错误条。请参阅上面我编辑的答案。对不起,我不清楚;我将编辑我的问题。是的,这就是我想要的。谢谢(我现在只需要添加一个图例来解释每个errorbar颜色的含义。如果您碰巧知道,我也会很感激。)