【发布时间】:2022-01-21 12:54:17
【问题描述】:
我无法以我想要的方式保存 for 循环的结果。
我当前正在运行的循环如下所示:
# Setup objects
n = 100
R = (1:1000)
P = seq(-.9, .9, .1)
betahat_OLS = rep(NA, 1000)
Bhat_OLS = rep(NA, 19)
# Calculate betahat_OLS for each p in P and each r in R
for (p in P) {
for (r in R) {
# Simulate data
v = rnorm(n)
e = rnorm(n)
z = rnorm(n)
u = p*v+e
x = z+v
y = 0*x+u
#Calculate betahat_OLS
betahat_OLS[r] = sum(x*y)/sum(x^2)
}
#Calculate Bhat_OLS
Bhat_OLS = sum(betahat_OLS)/1000-0
}
# Make a scatterplot with p on the x-axis and Bhat_OLS on the y-axis
plot(P, Bhat_OLS)
循环似乎工作正常,除了因为我想最终得到 19 个 Bhat_OLS 值并且目前只得到 1 个值。我想在P 中为p 的每个值设置一个Bhat_OLS 值,以便我可以针对p 绘制Bhat_OLS。
【问题讨论】: