Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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 聚集个体密度直方图_R_Aggregate_Histogram_Probability Density - Fatal编程技术网

R 聚集个体密度直方图

R 聚集个体密度直方图,r,aggregate,histogram,probability-density,R,Aggregate,Histogram,Probability Density,我有一个数据库,是一组专家的答案。例如,通过给出第5、50和95百分位(q1、me和q3,在下面的代码中),它们表明了明年的通胀水平。我想绘制专家个人预测汇总的直方图。 (需要说明的是,q1是由6名专家组成的第5百分位向量) 有可能在R中准备吗?你知道怎么做吗?我很高兴能得到任何帮助:) q1你的意思是这样的吗: library(tidyverse) q1 <- c(-0.9, -0.8, -0.5, -0.8, -1.1, -1.0) me <- c(-0.6, -0.5, -0

我有一个数据库,是一组专家的答案。例如,通过给出第5、50和95百分位(
q1、me和q3
,在下面的代码中),它们表明了明年的通胀水平。我想绘制专家个人预测汇总的直方图。 (需要说明的是,q1是由6名专家组成的第5百分位向量) 有可能在R中准备吗?你知道怎么做吗?我很高兴能得到任何帮助:)


q1你的意思是这样的吗:

library(tidyverse)

q1 <- c(-0.9, -0.8, -0.5, -0.8, -1.1, -1.0)
me <- c(-0.6, -0.5, -0.3, -0.6, -0.6, -0.4)
q3 <- c(-0.4, -0.4, 0.1, -0.4, -0.1, 0.0)
df <- data.frame(cbind(q1,me,q3))

df1 <- df %>% 
  mutate(id = row_number()) %>% 
  pivot_longer(
    cols = c(q1,me,q3),
    names_to = "Quantile",
    values_to = "Values"
  ) %>% 
  mutate(Expert = as.factor(id)) %>% 
  group_by(id) %>% 
  mutate(Quantile = factor(Quantile, levels=c("q1", "me", "q3")))
  
ggplot(data=df1, aes(x=Expert, y=Values, fill=Quantile)) +
  geom_bar(stat="identity", position=position_dodge())+
  geom_text(aes(label=Values), vjust=1.6, color="black",
            position = position_dodge(0.9), size=3.5)+
  scale_fill_brewer(palette="Paired")+
  theme_pubr()
库(tidyverse)
第一季度%
突变(分位数=因子(分位数,级别=c(“q1”,“me”,“q3”))
ggplot(数据=df1,aes(x=专家,y=数值,填充=分位数))+
几何图形栏(stat=“identity”,position=position\u dodge())+
几何图形文本(aes(标签=值),vjust=1.6,color=“黑色”,
位置=位置\减淡(0.9),尺寸=3.5)+
缩放填充酿酒器(调色板=“成对”)+
主题_pubr()

看起来,如果要计算分位数的平均值,可以
rbind
它们并取
colMeans
。然后您可以使用
add=TRUE
覆盖两个
hist
图,或者更好的
plot
我在这里展示的
密度

q <- colMeans(rbind(q1, q3))

plot(density(me), ylim=c(0, max(density(q)$y)), "My Plot")
lines(density(q), col=2, lty=2)
legend("topright", c("me", "them"), lty=1:2, col=1:2)

q不完全正确。这就像每个专家通过指示百分位来创建自己的密度。它应该以某种方式聚合成一个密度,然后绘制为直方图。@TarJae很棒的选择。我喜欢这个图表
q <- colMeans(rbind(q1, q3))

plot(density(me), ylim=c(0, max(density(q)$y)), "My Plot")
lines(density(q), col=2, lty=2)
legend("topright", c("me", "them"), lty=1:2, col=1:2)