首页 > 解决方案 > R无法将类“函数”强制转换为data.frame - 将matchit的logit结果与PseudoR2一起使用

问题描述

我遇到了 PseudoR2 的问题,它在使用 matchit 中的 logit 对象后引发以下错误:

as.data.frame.default(data, optional = TRUE) 中的错误:无法将类“函数”强制转换为 data.frame

它似乎适用于正常的 logit,但即使 matchit 中的 logit 在各方面看起来都相同,它也会给出错误。

请参阅下面的可重现示例:

## Load libraries
library(MatchIt)
library(DescTools)

## Load data
data(mtcars)

## Use matchit to match data
matched <- matchit(vs ~ mpg + cyl,
                   method = "nearest", data = mtcars)

m1 <- matched$model ## Retrieve logit data from matchit
m2 <- glm(vs ~ mpg + cyl, family = binomial(logit), data = mtcars) ## Own logit

PseudoR2(m1)
PseudoR2(m2)

标签: rdataframe

解决方案


将 R(从 3.6.1)更新到 3.6.3 似乎解决了这个问题。


推荐阅读