繁体   English   中英

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

[英]Output R-squared using Linear Regression on subsets of data

我有一个以lagpsitvar为变量的数据集。

set.seed(560)
df<-data.frame(lag= rep(1:40, each=228), psit= rep(rnorm(228, 20, 
10)),var=rnorm(9120, 50, 10))

对于lag每个子集,我想进行线性回归,其中psit由var lm(psit~var, df)预测。 我想将模型的R平方值,F统计量和p值输出到datatframe中。

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))

我努力了:

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))

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

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

glance采用单个线性模型,并返回汇总统计信息的单行数据框。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM