【问题标题】:"Barplot like" histogram with a probability density curves in RR中带有概率密度曲线的“条形图”直方图
【发布时间】:2014-11-14 17:55:14
【问题描述】:

我有 2 组数据,我使用 barplot 表示。对于相同的数据,我拟合了一个混合模型,我想绘制我在 barplot 中的数据得到的概率密度。我遇到的问题是barplot中x轴上的值(步长为1.1)与我用于计算概率密度的区间(步长为0.01)不同,因此压缩了概率密度。如果我在将概率密度拟合到数据时更改步长,则线条会扭结,看起来不太好。

我尝试使用直方图,它可以很好地绘制概率密度,但是我只设法在同一张图上绘制了 2 个直方图,但我希望我的数据以 barplot 的方式表示。

有人可以告诉我如何做到这一点。

谢谢。

【问题讨论】:

  • 请提供您尝试的解决方案
  • 一些示例数据也会有很大帮助。
  • 在条形图上绘制核密度是没有意义的

标签: r histogram


【解决方案1】:

我通常使用 ggplot 包。但我从未尝试过这样做。但是,试试这个代码:

{ ##创建你的模型,例如

model <- lm(Y ~ X , your_data)

## Create a data frame with X column, interpolating across range
xmin <- min(your_data$X)
xmax <- max(your_data$X)
predict <- data.frame(X=seq(xmin, xmax, length.out=100))
## Calculate predicted values of Y
predict$Y <- predict(model, predict)
## Create a boxplot graph
  library(ggplot2)
  graph<-ggplot(your_data, aes(x=, y =)) + 
         geom_boxplot()
## Add your predicted value.
graph + geom_smooth(data=predict, method="loess", color="red", aes(group=1))

}

我无法添加图表,因为我没有足够的声誉。

【讨论】:

  • n 未来,使用{} 按钮将您的代码包含在代码块中。
  • 您可能应该摆脱library(ggplot2),因为您没有在这里使用它。而且,由于boxplot 来自基本图形,因此您不能将lines+....相加,并且OP 询问的是barplot,而不是boxplot
猜你喜欢
  • 1970-01-01
  • 2016-01-10
  • 1970-01-01
  • 1970-01-01
  • 2010-12-02
  • 1970-01-01
  • 2017-07-17
  • 1970-01-01
相关资源
最近更新 更多