R psych,cohen.d error `.rowNamesDF<-`(x, value = value) 中的错误:无效的 'row.names' 长度

R psych, cohen.d error Error in `.rowNamesDF<-`(x, value = value) : invalid 'row.names' length

我在 psych 中尝试使用 cohen.d 函数计算效果大小时出现以下错误。请参阅下面的示例数据。

library(psych)
x <- c(1, 2, 3, 4, 5, 6, 7, 8)
y <- c(1, 1, 1, 1, 2, 2, 2, 2)
xy <- data.frame(x,y)
names(xy) <- c("x", "group")
CohensD <- cohen.d(xy, "group", alpha=.05)

.rowNamesDF<-(x, value = value) 错误:'row.names' 长度无效

可能存在错误,因为它在 1.8.12 中运行良好,而且在

中也会产生相同的错误
cohen.d(sat.act[1:8, c('education','gender')], "gender")

但没有

cohen.d(sat.act[1:8, c('education','gender','age')], "gender")

因此,应该可以很好地处理包含两列以上的数据框

x <- c(1, 2, 3, 4, 5, 6, 7, 8)
y <- c(1, 1, 1, 1, 2, 2, 2, 2)
xy <- data.frame(x=x, group=y, z=rnorm(8))
cohen.d(xy, "group")

Call: cohen.d(x = xy, group = "group")
Cohen d statistic of difference between two means
  lower effect upper
x  0.53   3.58  6.60
z -0.71   0.88  2.37

Multivariate (Mahalanobis) distance between groups
[1] 3.6
r equivalent of difference between two means
   x    z 
0.87 0.40 

这确实是我在将 Mahalabonis 距离添加到 cohen.d 时引入的错误。该修复程序在 psych_1.9.12.21 中可用,可在我的服务器上使用。您可以从那里安装它:

install.packages("psych",repos="http://personality-project.org/r",type="source")

下周恢复后,我会将此修补版本发布到 CRAN。在此期间,如果您不想要补丁版本,只需使用包含两列以上的数据集(正如 A. Suliman 所指出的)。

您应该使用 effsize 包,而不是 psych。

install.packages("effsize")

库(effsize)

然后使用effsize的cohen.d。

x <- c(1, 2, 3, 4, 5, 6, 7, 8)

y <- c(1, 1, 1, 1, 2, 2, 2, 2)

cohen.d(x,y)