使用 ggplot2 的三向图(变量、平均值、标准差)
Three-way graph (variable, mean, sd) with ggplot2
我认为我在重现我在此 pdf 中找到的图表时逻辑有误 here。
这应该很容易做到,但我在绘制一个变量及其均值和标准差各自的图表时遇到了问题,如下面的示例图表所示。他们是用 facet_grid()
还是 facet_wrap()
做的?
如何以这种方式绘制任意变量? 特别是,我不知道如何绘制距离(或时间)的均值和标准差。
示例图:
这是我对@DavidArenburg 概述的解决方案的方法(尽管我使用简单的累积统计数据和普通索引稍微简化了数据):
library(tidyr)
library(dplyr)
library(TTR)
v <- rnorm(1000)
df <- data.frame(index = 1:1000,
variable = v,
mean = runMean(v, n=1, cumulative=TRUE),
sd = runSD(v, n=1, cumulative=TRUE))
dd <- gather(df, facet, value, -index)
ggplot(dd, aes(x = index, y = value)) +
geom_path() +
facet_grid(facet ~ .)
奖励:说明样本均值和标准差是无偏的(分别为 0 和 1)。
我认为我在重现我在此 pdf 中找到的图表时逻辑有误 here。
这应该很容易做到,但我在绘制一个变量及其均值和标准差各自的图表时遇到了问题,如下面的示例图表所示。他们是用 facet_grid()
还是 facet_wrap()
做的?
如何以这种方式绘制任意变量? 特别是,我不知道如何绘制距离(或时间)的均值和标准差。
示例图:
这是我对@DavidArenburg 概述的解决方案的方法(尽管我使用简单的累积统计数据和普通索引稍微简化了数据):
library(tidyr)
library(dplyr)
library(TTR)
v <- rnorm(1000)
df <- data.frame(index = 1:1000,
variable = v,
mean = runMean(v, n=1, cumulative=TRUE),
sd = runSD(v, n=1, cumulative=TRUE))
dd <- gather(df, facet, value, -index)
ggplot(dd, aes(x = index, y = value)) +
geom_path() +
facet_grid(facet ~ .)
奖励:说明样本均值和标准差是无偏的(分别为 0 和 1)。