R 同一图上多个直方图上的正常密度曲线

R 同一图上多个直方图上的正常密度曲线,r,ggplot2,probability-density,R,Ggplot2,Probability Density,例如,我有一个数据帧,如下所示: sample1 <- seq(120,197, length.out = 60) sample2 <- seq(113, 167, length.out = 60) sample3 <- seq(90,180, length.out = 60) sample4 <-seq(100, 160, length.out = 60) df <- as.data.frame(cbind(sample1, sample2, sample3,

例如,我有一个数据帧,如下所示:

sample1 <- seq(120,197, length.out =  60)
sample2 <- seq(113, 167, length.out = 60)
sample3 <- seq(90,180, length.out = 60)
sample4 <-seq(100, 160, length.out = 60)

df <- as.data.frame(cbind(sample1, sample2, sample3, sample4))

sample1这是使用
tidyverse

library(tidyverse)

# example data
sample1 <- seq(120, 197, length.out =  60)
sample2 <- seq(113, 167, length.out = 60)
sample3 <- seq(90, 180, length.out = 60)
sample4 <- seq(100, 160, length.out = 60)

df <- data.frame(sample1, sample2, sample3, sample4)

# update your original dataframe to a nested dataframe by adding simulated values from normal distribution 
df2 = df %>%
  gather() %>%                                                           # reshape data  
  group_nest(key) %>%                                                    # for each key (i.e. sample)
  mutate(norm = map(data, ~rnorm(10000, mean(.x$value), sd(.x$value))))  # simulate 10K observations from the corresponding normal distribution

ggplot()+
  # plot histogram using info from nested column data (i.e. original observations)
  geom_histogram(data = df2 %>% unnest(data), aes(value, fill=key, ..density..), alpha=0.3)+
  # plot density using info from nested column norm (i.e. simulated normal observations)
  geom_density(data = df2 %>% unnest(norm), aes(norm, col=key))+
  # separate plots by key (i.e. sample)
  facet_wrap(~key)
库(tidyverse)
#示例数据
样本1%未测试(标准),不良事件(标准,列=键))+
#按键分开绘图(即样本)
面_包裹(~key)

当你说
正常密度曲线时,我想你不是指与定律N(0,1)相关的高斯密度函数,因为你的值超出了[-1,1]范围。是否要将曲线与相同的高斯分布进行比较?应使用哪些参数值(均值和方差)?更重要的是,这对你的问题意味着什么?而且你的样本是均匀分布在这些区间上的。所以柱状图不会产生太多信息。好了@Antoniosk,你搞定了。谢谢你。