Given a random variable with probability density function f(x), how to compute the expected value of this random variable in R?

If you want to compute the expected value, just compute :

E(X) = Integral of xf(x)dx over the whole domain of X.

The integration can easily be done using the function integrate().

Say you're having a normal density function (you can easily define your own density function) :

f <- function(x){
     1/sqrt(2*pi)*exp((-1/2)*x^2)
}

You calculate the expected value simply by:

f2 <- function(x){x*f(x)}
integrate(f2,-Inf,Inf )

Pay attention, sometimes you need to use Vectorize() for your function. This is necessary to get integrate to work. For more info, see the help pages of integrate() and Vectorize().

Tags:

R