【发布时间】:2021-03-17 20:25:57
【问题描述】:
我想做1000次蒙特卡罗模拟线性回归,得到1000个估计:
dt <- data.table( x = runif(n,0,1),
e = rnorm(n),
alpha = runif(n,-100,100))[, y := alpha + beta*x + e][, -c("e","alpha")]
set.seed(872)
map( rep(1:B) , ~lm(y ~ x, data = dt))
这很好用。但是我把上面的第三行改成了
dt %>% map( rep(1:B), ~lm(y ~ x, data=. ) )
发生错误。为什么会出现错误?
【问题讨论】:
-
在您的第一个代码块中,
dt是一个数据表,其中包含行中的列。当您在第二个代码中使用.时,它表示 1 和B之间的整数,您的问题中没有定义。