![](/img/trans.png)
[英]Error message when using lrm() and validate() from the rms package
[英]“Error in fitter…” While trying to use lrm function from rms library
我正在尝试通过 rms 库中的 lrm function 运行一个小型数据表,但每次运行它我都会得到:
Error in fitter(X, Y, offset = offs, penalty.matrix = penalty.matrix, :
NA/NaN/Inf in foreign function call (arg 1)
这是一些可重现的代码:
library(tidyverse)
library(rms)
data <- tribble(
~a, ~b, ~c,
"name", 2, 77.95535,
"name", 2, 81.36152,
"name", 2, 80.87081,
"name", 2, 80.59054,
"name", 2, 79.36807,
"name", 2, 82.42083,
"name", 2, 78.80646,
"name", 2, 78.88949
)
lmod <- lrm(b~c, data, penalty=0, x=T, y=T, tol=1e-10, maxit=1e6)
我尝试了各种各样的事情。 我尝试将 b~c 切换到 c~b (我知道它不会产生相同的数据)并且我得到了一个错误,但不是同样的错误。 我尝试仅使用前两个参数,以及包括或排除以下参数的各种参数。 我也尝试过调试并将代码跟踪到 lrm function 中,然后我将其范围缩小到(令人震惊的)装配工 function。
以下是我一直在使用的一些资源,您可能会发现它们对自己有帮助或对我有所帮助。 如果有什么我忘了包括发表评论,我会填写我能做的:) 谢谢!
使用您提供的数据,我得到了同样的错误。 然后我将一些b
更改为 1,错误消失了:
data <- tribble(
~a, ~b, ~c,
"name", 2, 77.95535,
"name", 2, 81.36152,
"name", 1, 80.87081,
"name", 1, 80.59054,
"name", 2, 79.36807,
"name", 1, 82.42083,
"name", 1, 78.80646,
"name", 2, 78.88949
)
lmod <- lrm(b~c, data = data, penalty=0, x=TRUE, y=TRUE, tol=1e-14, maxit=1e10)
lmod
Logistic Regression Model
lrm(formula = b ~ c, data = data, x = TRUE, y = TRUE, penalty = 0,
tol = 1e-14, maxit = 1e+10)
Model Likelihood Discrimination Rank Discrim.
Ratio Test Indexes Indexes
Obs 8 LR chi2 0.00 R2 0.000 C 0.500
1 4 d.f. 1 g 0.000 Dxy 0.000
2 4 Pr(> chi2) 1.0000 gr 1.000 gamma 0.000
max |deriv| 3 gp 0.000 tau-a 0.000
Brier 0.250
Coef S.E. Wald Z Pr(>|Z|)
Intercept 0.0000 39.9600 0.00 1.0000
c 0.0000 0.4992 0.00 1.0000
我知道这只是您数据的一个子集,但也许b
中的所有行都有值 2? 您可以使用例如table(data$b)
进行检查
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.