Mar*_*ski 14 r matrix sparse-matrix
我正在研究data.frame看起来很有用的glm功能,所以我决定我会对模型矩阵的稀疏重复进行处理,这样我就可以把这个稀疏矩阵放到glmnet函数中了.但sparse.model.matrix看起来要从原始矩阵中删除一些行.知道为什么会这样,以及任何解决方案如何避免这种情况?代码如下:
> mm <- sparse.model.matrix(~clicks01+kl_tomek*bc1+hours+plec+1,
data = daneOst)
> dim(mm)
[1] 1253223 292
> dim(daneOst)
[1] 1258836 6
Run Code Online (Sandbox Code Playgroud)
Bar*_*Bar 14
我在改变na.actionto方面取得了一些成功na.pass,包括我矩阵中的所有行:
options(na.action='na.pass')
Run Code Online (Sandbox Code Playgroud)
请注意,这是一个全局选项,因此您可能希望将其设置回原始值之后,以免弄乱其余代码.
previous_na_action <- options('na.action')
options(na.action='na.pass')
# Do your stuff...
options(na.action=previous_na_action$na.action)
Run Code Online (Sandbox Code Playgroud)
从这个答案解决.
这是由于NA的!
跑sum(complete.cases(mm)).我打赌它也给你1253223.
因此,用数值替换数据框中的NA(例如'IMPUTED_NA'或-99999),然后再试一次.