【问题标题】:How to draw a standard normal distribution in R [duplicate]如何在R中绘制标准正态分布[重复]
【发布时间】:2012-05-19 13:59:27
【问题描述】:

可能重复:
Making a standard normal distribution in R

使用 R,绘制标准正态分布。在 (10) 平均值之上和之下标记平均值和 3 个标准差。在 x 和 y 轴上包含信息标题和标签。

这是一道作业题。我不确定如何使用代码。我应该如何开始?

【问题讨论】:

  • 好吧,我对其进行了一些更改,但现在我将如何标记平均值上下 3 个标准差? plot(x,y, type="l", lwd=1,main="Mean of a Standard Normal Distribution",xlab="X",ylab="Y") abline(a=10,b=1,v=10)
  • data=rnorm(1e4, mean=10, sd=3),然后是plot(density(data))并添加正态曲线:curve(dnorm(x, mean=10, sd=3), add=TRUE, col=3)

标签: r plot distribution draw


【解决方案1】:

我很确定这是duplicate。不管怎样,看看下面这段代码

x <- seq(5, 15, length=1000)
y <- dnorm(x, mean=10, sd=3)
plot(x, y, type="l", lwd=1)

我相信您可以自己解决剩下的问题,对于您可能想要查找名为 main=y-axis 的标题的标题也取决于您。

如果您想查看更多分布的尾部,为什么不尝试使用seq(5, 15, ) 部分?最后,如果你想知道更多dnorm在做什么,我建议你看看here

【讨论】:

  • 好吧,我对其进行了一些更改,但现在我将如何标记平均值上下 3 个标准差? &gt; plot(x,y, type="l", lwd=1,main="Mean of a Standard Normal Distribution",xlab="X",ylab="Y") &gt; abline(a=10,b=1,v=10)
  • make seq(0,20,length=1000) 这样你就可以看到更多的曲线。现在我的代码中的一个标准差是 3 对吗?即sd=3,因此10及以下的三个标准差应为1和19:abline(a=1,b=1,v=19)abline(a=1,b=1,v=1)
  • data=rnorm(1e4, mean=10, sd=3),然后 plot(density(data)) 并添加正态曲线:curve(dnorm(x, mean=10, sd=3) , add=TRUE, col=3) 使用seq 是不必要的
【解决方案2】:

大概是这样的吧?

x<-rnorm(100000,mean=10, sd=2)
hist(x,breaks=150,xlim=c(0,20),freq=FALSE)
abline(v=10, lwd=5)
abline(v=c(4,6,8,12,14,16), lwd=3,lty=3)

【讨论】:

    【解决方案3】:

    顺便说一下,除了自己生成xy坐标之外,你还可以使用curve()函数,它的目的是绘制对应于a的曲线函数(例如标准正态函数的密度)。

    help(curve)
    

    及其示例。

    如果您想添加 som 文本以正确标记均值和标准差,可以使用 text() 函数(另请参阅 plotmath,以获取带有数学符号的注释)。

    help(text)
    help(plotmath)
    

    【讨论】:

      猜你喜欢
      • 2015-01-04
      • 1970-01-01
      • 2013-12-13
      • 2020-09-08
      • 1970-01-01
      • 2020-09-11
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多