R 族$linkinv(eta)中出错:参数eta必须是非空数字向量
问题的标题之所以是我所犯的错误,是因为无论我做了多少研究,我都不知道如何解释它。每当我使用R 族$linkinv(eta)中出错:参数eta必须是非空数字向量,r,logistic-regression,R,Logistic Regression,问题的标题之所以是我所犯的错误,是因为无论我做了多少研究,我都不知道如何解释它。每当我使用bigglm()运行逻辑回归时(来自biglm包,设计用于在大量数据上运行回归),我得到: 这就是我的bigglm()函数的样子: fit <- bigglm(f, data = df, family=binomial(link="logit"), chunksize=100, maxit=10) fit错误参数eta必须是非空数值向量在我看来,您的数据要么为空值,要么为NA。所以,请检查您的数据
bigglm()
运行逻辑回归时(来自biglm
包,设计用于在大量数据上运行回归),我得到:
这就是我的bigglm()
函数的样子:
fit <- bigglm(f, data = df, family=binomial(link="logit"), chunksize=100, maxit=10)
fit错误参数eta必须是非空数值向量
在我看来,您的数据要么为空值,要么为NA。所以,请检查您的数据。无论我们在这里提供什么建议,都无法进行测试,直到我们看到您的代码或导致错误的相关步骤。
试试这个
is.na(df)#如果为真,则将其替换为0
df[is.na(df)]您需要提供一个工作的、可复制的example@rawr这不是一个修辞性的问题,但是你介意建议我一种合适的方法来创建一个包含210个变量的数据集的可复制示例吗?你只需要使用足够的变量来重现这个问题。如果它完全只适用于您的精确数据,那么我们所能做的就是猜测或发布整个数据集。但是一个复制错误的最小示例是非常可取的,请参阅《谢谢你的回答》上的规范帖子。我正在构建一个小的可复制示例。我试过做df检查您的df
是否将值存储为数字、字符或因子<代码>sapply(测向,模式)
。理想情况下,数字是您想要的。@jgozal无论您做什么,我都不建议像user5249203建议的那样用0替换NAs。这肯定会影响您的模型并使任何可能的结果无效。
fit <- bigglm(f, data = df, family=binomial(link="logit"), chunksize=100, maxit=10)
is.na(df) # if TRUE, then replace them with 0
df[is.na(df)] <- 0 # Not sure replacing NA with 0 will have effect on your model