【问题标题】:How to put a loop in the summary() of a lm-model?如何在 lm 模型的 summary() 中放置一个循环?
【发布时间】:2019-08-10 20:37:25
【问题描述】:

我正在尝试分析不同分布的影响。 我创建了两种类型的分布: mu = cumsum [epsilon N(0,1)] + eta N(0,1) mu = cumsum [epsilon N(0,1)] + eta N(0,4)

我创建了一个线性回归模型并希望输出摘要,因为我对 R^2 感兴趣。 由于每次我想创建一个循环时数据都是不同的,因此摘要会多次完成,并且打印的结果是所有摘要的平均值。

我只是不知道如何创建那个循环。

eps = rnorm(200,0,1)
eta200_1 = rnorm(200,0,1)
eta200_4 = rnorm(200,0,4)

y0 = cumsum(eps) + eta200_1
y1 = cumsum(eps) + eta200_4

#The model output that shall be repeated
modely0_y1 = lm(y0 ~ y1)
summary(modely0_y1)

【问题讨论】:

  • 会重复哪一部分?一切?
  • 我编辑了这个问题。只有最后两行需要重复。

标签: r


【解决方案1】:

像这样

iterations <- 100
r_squared <- c()

for(i in 1:iterations) {

  eps = rnorm(200,0,1)
  eta200_1 = rnorm(200,0,1)
  eta200_4 = rnorm(200,0,4)

  y0 = cumsum(eps) + eta200_1
  y1 = cumsum(eps) + eta200_4

  modely0_y1 = lm(y0 ~ y1)
  r_squared <- c(r_squared, summary(modely0_y1)$r.squared)


}

r_squared
# [1] 0.8989347 0.7321244 0.5185411 0.7102153 0.4646995 etc

mean(r_squared)
[1] 0.6025012

【讨论】:

  • 谢谢!正是我想要的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-27
  • 1970-01-01
  • 2018-02-06
相关资源
最近更新 更多