使用线性回归对数据子集输出R平方

时间:2017-09-29 04:46:22

标签: r linear-regression tidyverse

我有一个以psitvarset.seed(560) df<-data.frame(lag= rep(1:40, each=228), psit= rep(rnorm(228, 20, 10)),var=rnorm(9120, 50, 10)) 为变量的数据集。

lag

对于lm(psit~var, df)的每个子集,我想运行线性回归,其中psit由var output<-data.frame(lag= rep(1:40, each=1), rsqrd= rep(rnorm(40, .5, 0.01)),fstat=rnorm(40,5, 0.05), pvalue=rnorm(40,0.01, 0.1)) 预测。我想将R平方值,F统计量和模型的p值输出到数据框中。

models <- 
  df %>%
  group_by(lag) %>%
  do(model = lm(psit ~ var,data = .))


rsqrd<- 
  model %>%
  do(data.frame(
   lag = .$lag,
    summary(.)$r.squared, summary(.)$fstatistic,summary(.)$pvalue))

我试过了:

examplewebsite.co

1 个答案:

答案 0 :(得分:0)

您可以使用扫帚库的glance功能从一系列线性模型中获取所需的摘要统计信息:

library(broom)
rsqrd <- 
    models %>%
    ungroup() %>% group_by(lag) %>%
    do(glance(.$model[[1]]))

glance采用单个线性模型并返回摘要统计信息的一行数据框。