How does sample \(\sigma^{2}\) vary as a function of sample size?

# specify the sample population
foo<-rnorm(10000000)
# calculate variance/standard deviation
var(foo) # the population variance is approx. 1
## [1] 1.000832
sd(foo) # the population sd is approx. 1
## [1] 1.000416
# set up function
sim<-function(x){
  v<-var(rnorm(x))
}
# set plot area
x<-seq(10,1000, by=10)
y<-seq(-0.5,2.5,length.out=100)
plot(x,y, type="n", xlab="samples", ylab="variance estimate")

# specify number of simulations
nsim=100

# plot
grid()
abline(h=var(foo), col="black")
for (i in 1:nsim) lines(seq(10,1000, by=10),mapply(sim, seq(10,1000, by=10)),col=rgb(0,0,0,0.05), new=FALSE)

Figure 1. Convergence of sample variance on population variance as a function of n. Number of simulations = 100.