相关疑难解决方法(0)

将密度曲线拟合到R中的直方图

R中是否有适合直方图曲线的函数?

假设您有以下直方图

hist(c(rep(65, times=5), rep(25, times=5), rep(35, times=10), rep(45, times=4)))
Run Code Online (Sandbox Code Playgroud)

它看起来很正常,但它是偏斜的.我想要拟合一条倾斜的正常曲线来包裹这个直方图.

这个问题相当基本,但我似乎无法在互联网上找到R的答案.

r histogram curve-fitting r-faq

85
推荐指数
4
解决办法
24万
查看次数

在R中的ggplot2中一起使用stat_function和facet_wrap

我试图用ggplot2绘制格子类型数据,然后在样本数据上叠加正态分布,以说明基础数据的正常程度.我想让顶部的正常dist与面板具有相同的均值和stdev.

这是一个例子:

library(ggplot2)

#make some example data
dd<-data.frame(matrix(rnorm(144, mean=2, sd=2),72,2),c(rep("A",24),rep("B",24),rep("C",24)))
colnames(dd) <- c("x_value", "Predicted_value",  "State_CD")

#This works
pg <- ggplot(dd) + geom_density(aes(x=Predicted_value)) +  facet_wrap(~State_CD)
print(pg)
Run Code Online (Sandbox Code Playgroud)

这一切都很好,并产生了一个很好的三个数据面板图.如何在顶部添加正常dist?看来我会使用stat_function,但这会失败:

#this fails
pg <- ggplot(dd) + geom_density(aes(x=Predicted_value)) + stat_function(fun=dnorm) +  facet_wrap(~State_CD)
print(pg)
Run Code Online (Sandbox Code Playgroud)

似乎stat_function与facet_wrap功能不相符.我如何让这两个玩得很好?

- - - - - - 编辑 - - - - -

我试图整合下面两个答案中的想法,但我仍然没有:

使用这两个答案的组合我可以一起破解这个:

library(ggplot)
library(plyr)

#make some example data
dd<-data.frame(matrix(rnorm(108, mean=2, sd=2),36,2),c(rep("A",24),rep("B",24),rep("C",24)))
colnames(dd) <- c("x_value", "Predicted_value",  "State_CD")

DevMeanSt <- ddply(dd, c("State_CD"), function(df)mean(df$Predicted_value)) 
colnames(DevMeanSt) <- c("State_CD", "mean")
DevSdSt <- ddply(dd, c("State_CD"), …
Run Code Online (Sandbox Code Playgroud)

r graph ggplot2

22
推荐指数
3
解决办法
1万
查看次数

标签 统计

r ×2

curve-fitting ×1

ggplot2 ×1

graph ×1

histogram ×1

r-faq ×1