R编程正态分布

问题描述 投票:1回答:1

enter image description here

我正在尝试创建这个图。当我尝试下面的代码时,情节不是正常分布。

x <- seq(60,140,20)
y <- dnorm(x,0,1)
plot(x,y,type="l",xlab = "x",ylab = "f(x)",main = "The total shades area is equal to 0.05")
x<-seq(60,80)
y<-dnorm(x,0,1)
polygon(c(60,x,80),c(0,y,0),col="red")
x<-seq(120,140,length=100)
y<-dnorm(x,0,1)
polygon(c(120,x,140),c(0,y,0),col="red")
r rstudio normal-distribution
1个回答
8
投票

看起来你的图最大的问题是,根据你的图像,你想绘制一个平均数为100,标准差为10的正态分布图,但无论何时你调用dnorm,你使用的是平均数为0,标准差为1。

第二个问题是,当你定义第一个序列x时,你的by参数等于20,这意味着你只用60、80、100、120和140作为正态曲线的x坐标。 试着使用一些更小的参数--比如1--来代替。

下面的代码应该可以返回你想要的图形。

x <- seq(60,140,1)
y <- dnorm(x,100,10)
plot(x,y,type="l",xlab = "x",ylab = "f(x)",
     main = "The total shaded area is equal to 0.05")
x<-seq(60,80)
y<-dnorm(x,100,10)
polygon(c(60,x,80),c(0,y,0),col="red")
x<-seq(120,140,length=100)
y<-dnorm(x,100,10)
polygon(c(120,x,140),c(0,y,0),col="red")
© www.soinside.com 2019 - 2024. All rights reserved.