sample_size <- 200
sample_meanvector <- c(3, 4)
sample_covariance_matrix <- matrix(c(2, 1, 1, 2),
ncol = 2)
# create bivariate normal distribution
sample_distribution <- mvrnorm(n = sample_size,
mu = sample_meanvector,
Sigma = sample_covariance_matrix)
#Convert the datatype
df_sample_distribution <- as.data.frame(sample_distribution)
df_sample_distribution$Y <- (1 + df_sample_distribution$V1*2 + df_sample_distribution$V2 + rnorm(200,0,1))
colnames(df_sample_distribution)[1] <- "X1"
colnames(df_sample_distribution)[2] <- "X2"
上面的代码是我用来生成二元正态分布向量的代码,下面的代码是对生成的数据进行回归的代码。
Test2 <- lm( Y ~ X1, data = df_sample_distribution)
#to extract only specific coefficients
summary(Test)$coefficients[2,1]
我的问题是,是否有一种方法可以重新生成数据,并对数据运行200次回归,然后将所有输出保存在一个列表中。
for (){
#generate data
for ()
{
#extract coeffiients and insert them in a list
}
}
简单地说,
步骤1:创建数据
步骤2:对其运行回归
第3步:获取系数(希望将它们保存在列表中)
我正在寻找的代码,可以循环通过步骤1至3为200次,并保存一切结果。任何想法或灵感是欢迎的。提前感谢大家。
1条答案
按热度按时间pdsfdshx1#
只需像伪代码一样将代码 Package 到
for
循环中:这将返回包含每次迭代的系数的
df_output
: