首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在同一地块上叠加2条正态分布曲线?

如何在同一地块上叠加2条正态分布曲线?
EN

Stack Overflow用户
提问于 2013-05-14 00:06:38
回答 3查看 16.3K关注 0票数 2

我对R非常陌生,而且我面临着一个没有太多课堂资源的问题。我需要做一些我确信非常简单的事情。有人能给我指明正确的方向吗?这是我的任务:

让X表示微软股票的月收益,让Y代表星巴克股票的月收益。设X∼N(0.0 5,(0.10)2)和Y∼N(0.025,(0.0 5)2)。 使用-0.25到0.35之间的数值网格,绘制X和Y的法向曲线,确保两条法向曲线都在同一条图上。

我只能得到一个随机生成的正态分布,但不能同时在相同的地块上生成,也不能通过指定mean和st dev来实现。事先非常感谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-14 00:11:41

使用函数线或点,即

代码语言:javascript
运行
复制
s <- seq(-.25,.35,0.01)
plot(s, dnorm(s,mean1, sd1), type="l")
lines(s, dnorm(s,mean2, sd2), col="red")

此外,检查函数par (使用?par )来绘制选项,常见选项包括标签(xlab/ylab)、画幅限制(xlim/ylim)、颜色(Col)等。

票数 4
EN

Stack Overflow用户

发布于 2013-05-14 00:28:40

你有几个选择

使用基R

  • 您可以使用plot.function方法(调用curve绘制函数)。如果您调用plot(functionname),这就是所谓的

您可能需要滚动您自己的功能,所以这是可行的。此外,您还需要设置ylim,以便显示这两个函数的整个范围。

代码语言:javascript
运行
复制
# for example
fooX <- function(x) dnorm(x, mean = 0.05, sd = 0.1)
plot(fooX, from = -0.25, to = 0.35)
# I will leave the definition of fooY as an exercise.
fooY <- function(x) {# fill this is as you think fit!}
# see what it looks like
plot(fooY, from = -0.25, to = 0.35)
# now set appropriate ylim (left as an exercise)
# bonus marks if you work out a method that doesn't require this!
myYLim <- c(0, appropriateValue)
# now plot
plot(fooX, from = -0.25, to = 0.35, ylim = myYLim)
# add the second plot, (note add = TRUE)
plot(fooY, from = -0.25, to = 0.35, add = TRUE)

使用ggplot2

ggplot有一个函数stat_function,它会将一个函数强加到一个绘图上。?stat_function中的示例展示了如何在同一地块中添加两个具有不同方法的普通pdf函数。

票数 2
EN

Stack Overflow用户

发布于 2022-08-04 15:15:53

正如@mnel所建议的,我们可以使用ggplot2在一个图中绘制多个正态分布。(我发现这篇文章很古老,但是我在其他一些帖子中搜索了一下,却没有找到一个简单的答案,所以我想在这里发布一个答案)

代码语言:javascript
运行
复制
base <- ggplot() + xlim(-10, 10)
base +
  geom_function(aes(colour = "Original prior"), fun = dnorm, args = list(mean = 1, sd = 2)) +
  geom_function(aes(colour = "Prior 1"), fun = dnorm, args = list(mean = 2, sd = 2)) +
  geom_function(aes(colour = "Prior 2"), fun = dnorm, args = list(mean = 3, sd = 4)) +
  geom_function(aes(colour = "Prior 3"), fun = dnorm, args = list(mean = 4, sd = 2))

正态分布

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16533089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档