【发布时间】:2018-08-25 08:38:04
【问题描述】:
我需要以下问题的帮助:
考虑以下名为 negloglike 的 R 函数,它有两个输入参数:lam 和 x,按顺序排列。
使用此函数可以在 λ ∈ (0, 2) 的值范围内生成对数似然函数图。
negloglike <- function(lam, x) {
l = -sum(log(dexp(x, lam)))
return(l)
}
有人可以帮忙吗?可以用ggplot做这样的事情吗?我一直在尝试使用stat_function 设置lam 的值(例如这里的0.2):
ggplot(data = data.frame(x = 0), mapping = aes(x = x)) +
stat_function(fun = negloglike, args = list(lam = 0.2)) +
xlim(0,10)
但plot 总是在某个 y 值处返回一条水平线,而不是返回一条曲线。
我应该使用不同的几何图形吗?甚至完全不同的包?
非常感谢!
【问题讨论】:
-
您应该编辑问题并发布您使用的代码。知道你在做什么是了解它有什么问题的第一步。提示:我将首先交换参数的顺序,
x首先。 -
另外,它是
-log(sum(.))。 -
感谢您的建议!我已经在我的代码中添加了这个问题。
negloglike函数在我使用它来计算值时可以正常工作,但是stat_function生成的图形却不能正常工作(无论如何我都是这样做的)。将其更改为-log(sum(.))似乎没有任何区别,也没有交换x和lam的顺序 -
请注意,该函数对
dexp的所有值求和,因此它只会返回一个值。 -
是的,但绘制函数时通常不是这样吗?为每个 x 值绘制一个值?还是我误解了机械师的工作方式?例如
negloglike(x = 1, lam = 0.2) = 1.809438、negloglike(x = 2, lam = 0.2) = 2.009438等等?
标签: r ggplot2 multiple-arguments