我是R的新手,我面临的问题是没有太多的课堂资源。我需要做一些我确定非常简单的事情。有人能指出我正确的方向吗?这是我的任务:
让X表示Microsoft Stock的月度回报,让Y表示 星巴克股票的月度回报率。假设X~N(0.05,(0.10)2) 和Y〜N(0.025,(0.05)2)。
使用介于-0.25和0.35之间的网格,绘制法线曲线 对于X和Y.确保两条法线都在同一图上。
我只能生成一个随机生成的正态分布,但不是两个都在同一个图上,而不是通过指定mean和st dev。非常感谢。
答案 0 :(得分:3)
使用功能线或点,即
s <- seq(-.25,.35,0.01)
plot(s, dnorm(s,mean1, sd1), type="l")
lines(s, dnorm(s,mean2, sd2), col="red")
另外,检查功能par(使用 ?齐名 ) 对于绘图选项,常见选项包括标签(xlab / ylab),plotlimits(xlim / ylim),颜色(col)等......
答案 1 :(得分:2)
你有几个选择
plot.function
方法(调用curve
来绘制函数)。如果您拨打plot(functionname)
您可能需要滚动自己的功能,这样才能正常工作。此外,您需要设置ylim
,以便显示两个函数的整个范围。
# 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)
ggplot
有一个函数stat_function
,它会在一个图上强加一个函数。 ?stat_function
中的示例显示了如何使用不同的方法将两个Normal pdf函数添加到同一个绘图中。