2017-09-05 124 views
1

我正在寻找将lm函数的输出转换为Cohen's d,到目前为止我已经能够提取r2,但是,如何从r中检索Cohen's d?将R2转换为Cohen's d

m <- lm(outcome ~ predictor, data = df) 
summary(m)$adj.r.squared 

还有什么想法如何计算r2的上限和下限?

回答

2

lsr包似乎计算科恩的d提供了一个功能:

cohensD(outcome ~ predictor, data = df) 
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 
+0

哇,这是一个很好的解决方案 – Lowpar

相关问题