如何在同一图表上绘制R中的多个正态回归?

时间:2014-01-08 04:04:39

标签: r

我需要在同一个图表上绘制多个发行版,我的数据如下:

     mean    sd 
DIV  0.1790  0.2099 
CAS  0.1040  0.1576 
ATL  0.0960  0.2218 
COM  0.0980  0.1768 

2 个答案:

答案 0 :(得分:2)

如果我理解你的问题,就应该这样做。你的帖子的标题虽然说“正常回归”,但不知道那是什么。

normalpars <- read.table(text=
"code mean sd 
DIV 0.1790 0.2099 
CAS 0.1040 0.1576 
ATL 0.0960 0.2218 
COM 0.0980 0.1768", header=TRUE)

plot(1, xlim=c(-1,1), ylim=c(0,3), type='n',
     xlab="X", ylab="Density")
for(i in 1:nrow(normalpars)){
  curve(dnorm(x, mean=normalpars$mean[i], sd=normalpars$sd[i]),
    add=TRUE)
} 

答案 1 :(得分:0)

使用ggplot :(调用你的表df

library(ggplot2)
library(reshape2)
# using density functions [dnorm(...)]
x <- seq(-1,1,by=0.01)
dist <- apply(df,1,function(z){dnorm(x,mean=z[1],sd=z[2])})
dist <- data.frame(x=x, dist)
gg   <- melt(dist,id.vars="x")
ggplot(gg) + geom_line(aes(x=x, y=value, color=variable))