R code that gives results like Wolfram Alpha for the expectation of a function of a random variable?

When I ask Wolfram Alpha to calculate $E[f(X)]$ where $f(x) = e^{-x^2}$ and $X \sim \mathcal{N}(1,4)$, it gives the result $$ E[f(X)] = \frac{1}{3\sqrt[9]{e}} \approx 0.29828, $$ and the following plot which appears to be based on taking a number of simulations:

How can I generate the same type of plot using R?

Topic wolfram-language probability programming statistics r

Category Data Science


You can simulate one of these lines like this:

library(ggplot2)
X<-rnorm(1000, 1, sqrt(4))
f<-function(x) exp(-x*x)
df<-data.frame(sample_size=seq_len(1000), sample_means=cumsum(f(X))/seq_len(1000))
ggplot(df, aes(x=sample_size, y=sample_means)) + 
geom_line() + theme_minimal() + labs(x=NULL, y=NULL)

enter image description here

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.