makeData <- function(){
id <- rep(1:100, each=10)
a <- rep(rnorm(100), each=10)
x <- rnorm(1000) + a
u <- 2*rnorm(1000) + 2*a
y <- x + u
return(data.frame(y=y,x=x,id=id))
}
crossSectionEst <- function(){
i <- seq(5, 95, 10)
m <- sapply(
1:1000,
function(x){
df <- makeData()
df.cs <- df[i,1:2]
est <- summary(lm(df.cs))$coefficients[2]
return(est)
}
)
return(mean(m))
}
print(crossSectionEst())
bWFrZURhdGEgPC0gZnVuY3Rpb24oKXsKICAgIGlkIDwtIHJlcCgxOjEwMCwgZWFjaD0xMCkKICAgIGEgPC0gcmVwKHJub3JtKDEwMCksIGVhY2g9MTApCiAgICB4IDwtIHJub3JtKDEwMDApICsgYQogICAgdSA8LSAyKnJub3JtKDEwMDApICsgMiphCiAgICB5IDwtIHggKyB1CiAgICByZXR1cm4oZGF0YS5mcmFtZSh5PXkseD14LGlkPWlkKSkKfQpjcm9zc1NlY3Rpb25Fc3QgPC0gZnVuY3Rpb24oKXsKICAgIGkgPC0gc2VxKDUsIDk1LCAxMCkKICAgIG0gPC0gc2FwcGx5KAogICAgICAgIDE6MTAwMCwKICAgICAgICBmdW5jdGlvbih4KXsKICAgICAgICAgICAgZGYgPC0gbWFrZURhdGEoKQogICAgICAgICAgICBkZi5jcyA8LSBkZltpLDE6Ml0KICAgICAgICAgICAgZXN0IDwtIHN1bW1hcnkobG0oZGYuY3MpKSRjb2VmZmljaWVudHNbMl0KICAgICAgICAgICAgcmV0dXJuKGVzdCkKICAgICAgICB9CiAgICApCiAgICByZXR1cm4obWVhbihtKSkKfQpwcmludChjcm9zc1NlY3Rpb25Fc3QoKSk=