我希望将lm函数的输出转换为Cohen&#s; sd,到目前为止我已经能够提取r2,但是,如何在r中从R2中检索Cohen&#s; sd?
m <- lm(outcome ~ predictor, data = df)
summary(m)$adj.r.squared
还有任何想法如何计算r2的上限和下限?
答案 0 :(得分:2)
lsr包似乎提供了计算Cohen的d:
的函数cohensD(outcome ~ predictor, data = df)
答案 1 :(得分:1)
要计算r2的上限和下限,您可以自举。如果您选择使用此方法,则函数boot::boot
非常易于使用。
数据
set.seed(1072) # Make it reproducible
predictor <- rnorm(100)
outcome <- predictor + rnorm(100)
df <- data.frame(predictor, outcome)
<强>代码强>
bootfun <- function(DF, index){
m <- lm(outcome ~ predictor, data = DF[index, ])
summary(m)$adj.r.squared
}
b <- boot::boot(df, bootfun, R = 1000)
quantile(b$t, c(0.025, 0.975))
2.5% 97.5%
0.4065505 0.6500718