我正在尝试使用glmnet来拟合泊松模型,但我似乎无法以正确的形式获得正确的数据。所有变量都是分类的。这是一个早期的问题,处理几乎相同的问题,但给出的解决方案没有帮助我 - as.matrix()
和model.matrix
只是抛出了更多的错误信息。
as.matrix
这里是我得到的:
x<-as.matrix(ld2)
> res<-glmnet(x,y,family = "poisson")
Error in fishnet(x, is.sparse, ix, jx, y, weights, offset, alpha, nobs, :
NA/NaN/Inf in foreign function call (arg 4)
In addition: Warning message:
In fishnet(x, is.sparse, ix, jx, y, weights, offset, alpha, nobs, :
NAs introduced by coercion
有什么想法吗?
答案 0 :(得分:0)
你应该试试
x <- model.matrix(~.,data=ld2)
model.matrix()
是用于将数据框(包含数字和分类预测变量)转换为数值模型矩阵的R函数;分类预测变量变为二元虚拟预测变量集。公式~.
,特别是点,表示“使用数据框中的所有变量作为主要效果”(这是一个片面的公式 - 无需在左侧指定响应变量 - ~
)的一面。