Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R GG为频率直方图设置动画,以显示每个附加采样后的变化_R_Ggplot2_Histogram_Gganimate - Fatal编程技术网

R GG为频率直方图设置动画,以显示每个附加采样后的变化

R GG为频率直方图设置动画,以显示每个附加采样后的变化,r,ggplot2,histogram,gganimate,R,Ggplot2,Histogram,Gganimate,我有以下数据集,代表人口的重复样本和随后的样本平均数: data.frame(sample = 1:50, mu = rnorm(n = 50, mean = 0, sd = 1)) 我使用以下代码在ggplot中制作了一个频率直方图: data.frame(sample = 1:50, mu = rnorm(n = 50, mean = 0, sd = 1)) %>% ggplot(data = ., aes(mu)) + geom_histogram() 我正在尝试使用gga

我有以下数据集,代表人口的重复样本和随后的样本平均数:

data.frame(sample = 1:50, mu = rnorm(n = 50, mean = 0, sd = 1))
我使用以下代码在ggplot中制作了一个频率直方图:

data.frame(sample = 1:50, mu = rnorm(n = 50, mean = 0, sd = 1)) %>% 
ggplot(data = ., aes(mu)) + 
geom_histogram()

我正在尝试使用
gganimate
为这个直方图设置动画,其中每个额外的样本都会更改绘图中平均值的频率分布。然而,我不知道该怎么做

我尝试过这一点,但结果并不理想:

data.frame(sample = 1:50, mu = rnorm(n = 50, mean = 0, sd = 1)) %>% 
ggplot(data = ., aes(x = mu)) +
  geom_histogram() +
  transition_time(sample) +
  ease_aes("linear") +
  enter_fade() +
  exit_fade()

任何协助都将不胜感激

如果我没弄错的话,您希望直方图随着时间的推移逐渐增大,并在每个步骤中添加一个新样本。如果taht是您想要的,可以这样实现:

基本思想是按样本分割,然后将样本累积到帧中,即在帧1中仅显示样本1,在帧2中显示样本1和2

库(gganimate)
#>Lade nötiges Paket:ggplot2
图书馆(GG2)
图书馆(dplyr)
图书馆(purrr)
种子(42)
#示例数据
df%
累计(~bind_行(.x,.y))%>%
绑定行(.id=“frame”)%>%
变异(frame=as.integer(frame))
头部(df_ani)
#>帧样本mu
#> 1     1      1  1.3709584
#> 2     2      1  1.3709584
#> 3     2      2 -0.5646982
#> 4     3      1  1.3709584
#> 5     3      2 -0.5646982
#> 6     3      3  0.3631284
p_gg`stat_bin()`使用`bin=30`。使用“binwidth”选择更好的值。


p_anim谢谢你!这似乎很有效。然而,它似乎随着样本量的增加而崩溃。例如,如果我们将样本大小从50增加到5000,则动画图表的整体形状与常规ggplot相同,但频率计数大幅膨胀?嗨。对你是对的。这不是我们想要的。我的方法的问题是,直方图是为膨胀的数据集计算的,在膨胀的数据集中,每增加一帧都会复制样本。因此,频率被放大,即对于50个样本大小,样本1在最终帧中计数50次,而样本50仅计数一次。目前我对这个问题没有简单的解决办法。但是我会考虑的。嗨。环顾四周之后。简单的解决方案是切换到
transition\u manual
。我编辑了我的代码,将样本大小增加到500,并为未膨胀的df添加ggplot进行比较。