简体   繁体   中英

How to assign result of integrate in R to a numeric variable?

R example:

k=6
f<-function(s){s^(k-1)*exp(-s)}
integrate(f,0,Inf)

The output of integrate is the string:

120 with absolute error < 7.3e-05

I want to assign the first value in the string (120, the integral) to a variable. How to do that?

The result of integrate is a list :

> temp <- integrate(f,0,Inf)
> temp
120 with absolute error < 7.3e-05
> str(temp)
List of 5
 $ value       : num 120
 $ abs.error   : num 7.34e-05
 $ subdivisions: int 5
 $ message     : chr "OK"
 $ call        : language integrate(f = f, lower = 0, upper = Inf)
 - attr(*, "class")= chr "integrate"

You can access elements by name:

> temp$value
[1] 120

... or by index:

> temp[[2]]
[1] 7.335833e-05

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM