将R2转换为科恩的d

时间:2017-09-05 17:04:32

标签: r

我希望将lm函数的输出转换为Cohen&#s; sd,到目前为止我已经能够提取r2,但是,如何在r中从R2中检索Cohen&#s; sd?

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

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

2 个答案:

答案 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