在下面的代码中,我试图从normal1和normal2得到平均值,这样我就不必在geom_vline
函数调用中的xintercept
值(3和0)中进行硬编码。从dnorm获取平均值
normal1 <- function(x) {
dnorm(x, 3, 3)
}
normal2 <- function(x) {
dnorm(x, 0, 2)
}
plot + stat_function(fun = normal1) +
stat_function(fun = normal2) + xlim(c(-10, 15)) +
geom_vline(xintercept = 3, linetype = "dashed") +
geom_vline(xintercept = 0, linetype = "dashed")
我想这样做没有向前声明变量,并在初始dnorm
呼叫使用它们。即
x1 <- 3
x2 <- 0
normal1 <- function(x) {
dnorm(x, x1, 3)
}
normal2 <- function(x) {
dnorm(x, x2, 2)
}
我对R非常陌生,对功能和回报没有很强的把握。
你能举一个最简单的例子吗? –
哦,谢谢你,你的评论让我意识到我使用的'plot'是控制台内存中的一个变量,我从代码中删除了它。 'plot < - ggplot(x,aes(x))' – Kebtiz
谢谢。同时,还有一个答案,还有一个很好的答案,我在考试后提出了这个答案。也许你应该接受它,以便其他人在未来也能找到它,如果他们有类似的问题。 –