r语言中,画出了频率分布直方图,怎么在图上添加概率分布曲线?

Python013

r语言中,画出了频率分布直方图,怎么在图上添加概率分布曲线?,第1张

可以用内置的graphic包来画,就是plot()和curve()

也可以用ggplot2来画,后者更灵活。

graphic

# 先生成一组随机数

x <- rnorm(2000)

# 画频率直方图, 分30个bin

hist(x, freq = F, breaks = 30) 

# 再画概率分布曲线

lines(density(x, bw=.5), col="red", lwd=2)

2. ggplot2

# 准备工作, 把x设成一个数据集

library(ggplot2)

data <- data.frame(x = x)

# 生成底层和直方图,概率线的图层

p <- ggplot(data, aes(x = x, y = ..density..))

p <- p + geom_histogram(fill = "navy")

p <- p + geom_density(colour = "green")

p

画出来风格不太一样,看你口味了

如果只是画图,用curve()函数就好了

画正态密度:curve(dnorm,xlim=c(-3,3),col=2)

xlim是控制x轴显示从哪儿到哪儿,col是控制曲线颜色

画指数密度:curve(dexp(x,rate=1),xlim=c(0,5))

画指数分布:curve(pexp(x,rate=1),xlim=c(0,5))

你的方法是生成很多点x=seq(-6,6,0.1)

逐一算出函数值

t1[[i]]=dnorm(x,u[i],sigma)

t2[[i]]=pnorm(x,u[i],sigma)

最后在plot出来,用type="l"和lty=2的虚线弄出来。

curve这些功能都可以做到。

curve(dexp(x,rate=1),xlim=c(0,5),lty=2,add=T)就有虚线,

add=T可以一图多线

通过使用r语言,对多个个体概率进行统计、比较。

1、对单个个体进行概率分析,可以利用二项分布概率、泊松分布概率,对个体概率进行统计、分析;

2、创建个体概率分布图形,对多个个体概率进行分析、比较。