gpt4 book ai didi

在 R 中运行 glmnet 包,得到错误 "missing value where TRUE/FALSE needed",可能是由于缺少值?

转载 作者:行者123 更新时间:2023-12-01 12:37:37 24 4
gpt4 key购买 nike

我正在尝试使用 glmnet来自 glmnet包来运行 LASSO 回归。

我正在使用以下命令:

library(glmnet)
glmnet(a,b,family="binomial",alpha=1)

并且我收到错误:
> Error in if (!all(o)) { : missing value where TRUE/FALSE needed
a是一个矩阵,具有数值。 b是一个以因子为值的向量。

然而, b有一些缺失值。我怀疑这可能是导致错误的原因。但是,我没有看到排除 NA 的选项glmnet 文档中的 s。

最佳答案

glmnet不接受带有公式的完整数据框(因此没有 na.omit),但使用单独的响应和预测矩阵,您必须在 b 中找到哪些值丢失,然后子集您的预测矩阵以排除这些行。

library(glmnet)

set.seed(123)
a <- matrix(rnorm(100*20),100,20)
b <- as.factor(sample(0:1,100,replace = TRUE))

b[10] <- NA

na_index <- is.na(b)
res <- glmnet(a[!na_index, ], b[!na_index], family = "binomial", alpha = 1)

关于在 R 中运行 glmnet 包,得到错误 "missing value where TRUE/FALSE needed",可能是由于缺少值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28172614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com