r - 使用 tidyverse 提取估计系数和标准误差

标签 r linear-regression tidyverse

我有一个像这样的数据框:

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

对于lag的每个子集,我想运行一个线性回归,其中psitvar预测(例如lm(psit~var ,df))。我想输出每个值的系数信息。具体来说,测试版估计标准。错误进入数据帧。然后计算标准化效应大小。输出应该是:

 output<-data.frame(lag= rep(1:40, each=1), estimate= rep(rnorm(40, 
 .5, 0.01)),std.error=rnorm(40,0.01, 0.01))
 output$strd.effect <- output$estimate /output$std.error

我已经尝试过:

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


coeff<- 
  models %>%
  ungroup()%>%
  group_by(variable) %>%
  do(glance(estimate=summary(model[i]$coeff[,1],
  std.error=summary(model[i]$coeff[,2])

coeff<-
    coeff %>%
    group_by(variable) %>%
    mutate(std.effect=estimate[[i]]/coeff[[i]]

最佳答案

扫帚 pacakge 可以在这里提供帮助。尝试一下

models %>% 
   rowwise() %>% 
   do({cbind(broom::tidy(.$model), lag=.$lag)}) %>% 
   filter(term=="var") %>% 
   mutate(std.effect=estimate/std.error ) %>% 
   select(lag, estimate, std.error, std.effect)

关于r - 使用 tidyverse 提取估计系数和标准误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46532490/

相关文章:

r - 如何在R包中找到所有功能?

R Shiny observeEvent继续触发

python - 在 pandas DataFrame 的 2 列散点图上绘制最佳拟合线

r - 如何将字符向量与 R 中 tibble 中的字符向量列表进行匹配?

R: (un)reduce 数据框

r - 将 `mutate_at` 和 `na_if` 一起使用,仅对某些列将零替换为 NA

r - 将鼠标悬停在 R shiny selectInput 上时是否可以显示信息文本?

r - 在 tidymodels `predict()` dplyr::select( "Error in ` t 不存在的子集列中运行 )`: Can' 时出错。”

r - 按组拟合线性模型/方差分析

algorithm - 贝叶斯线性回归如何处理交通强度的非随机数据集?