我有以下功能:
PDF of a random variable X:
f(x) = b*x(1-x)^3 for x[0,1].
我需要回答的问题是:Use the the integrate function to show that 'b' = 20.
我尝试了以下内容:
fx<-function(b,x){
b*x*(1-x)^3
}
integrate(fx, 0,1)
但是,我收到以下消息:
Error in f(x, ...) : argument "x" is missing, with no default
答案 0 :(得分:2)
定义
f <- function(x) x*(1-x)^3
然后由于PDF的积分必须为1,b
的值可以从
b <- 1/integrate(f,0,1)$value
答案 1 :(得分:2)
如果您只需显示 b = 20,积分为1,您可以这样做吗?
> my.fxn <- function(x) 20*x*(1-x)^3
> integrate(my.fxn,0,1)
1 with absolute error < 1.1e-14
或者,您可以显示从0到1的积分的b-> 20的极限是1;诚然,快速而肮脏,但不确定你的总体目标是什么。
> my.fxn <- function(x) 19*x*(1-x)^3
> integrate(my.fxn,0,1)
0.95 with absolute error < 1.1e-14
> my.fxn <- function(x) 19.5*x*(1-x)^3
> integrate(my.fxn,0,1)
0.975 with absolute error < 1.1e-14
> my.fxn <- function(x) 20.5*x*(1-x)^3
> integrate(my.fxn,0,1)
1.025 with absolute error < 1.1e-14
> my.fxn <- function(x) 21*x*(1-x)^3
> integrate(my.fxn,0,1)
1.05 with absolute error < 1.2e-14
答案 2 :(得分:0)
f(x,...)中的错误:参数&#34; x&#34;缺少,没有默认
您可以将默认值设置为
avg(case when status = true then calculate_time end) as cal_time,
avg(case when status then calculate_time end) as cal_time,
试试here