R 可以处理NAs的leap()的替代方案是什么?

R 可以处理NAs的leap()的替代方案是什么?,r,na,genetics,R,Na,Genetics,需要应用方法选择最佳模型leaps()来自leaps软件包,只有当数据没有NA值时,才能正常工作,否则会抛出错误: #dummy data x<-matrix(rnorm(100),ncol=4) #convert to 0,1,2 - this is a genetic data, NA=NoCall x<-matrix(round(runif(100)*10) %% 3,ncol=4) #introduce NA=NoCall x[1,1] <-NA #response,

需要应用方法选择最佳模型<代码>leaps()来自leaps软件包,只有当数据没有
NA
值时,才能正常工作,否则会抛出错误:

#dummy data
x<-matrix(rnorm(100),ncol=4)
#convert to 0,1,2 - this is a genetic data, NA=NoCall
x<-matrix(round(runif(100)*10) %% 3,ncol=4)
#introduce NA=NoCall
x[1,1] <-NA
#response, case or control
y<-rep(c(0,1,1,0,1),5)
leaps(x,y)

Error in leaps.setup(x, y, wt = wt, nbest = nbest, nvmax = NCOL(x) + int,  : 
  NA/NaN/Inf in foreign function call (arg 4)

您可以在可以指定分支绑定方法的地方尝试bestglm::bestglm。NAs可以像在glm中一样由na.action参数处理。有关更多信息,请参见此处:

这是一个统计问题,因为AIC无法比较使用 不同的数据集。因此,要比较具有和不具有确定性的模型 变量,则需要删除缺少这些变量值的行 变量。您可能需要“重新考虑您的建模策略”。 否则,您可能还需要研究AIC的变体,快速 谷歌搜索带来了一个最新的问题 这可能是一个很好的起点


对于您的数据,输入NA是否合理?
stepAIC()
(向前和向后)真的不好吗?插补不是一种选择。
stepAIC()
是否检查了所有可能的组合?no
MASS::stepAIC()
like
step()
是否向前、向后或两者兼而有之。对于大多数数据集,通常会找到与
leaps()
相同的模型(我认为是???);您认为如何比较建立在不同数据集上的两个模型?或者这是问题的一部分?不过,这部分是一个统计问题,因为AIC无法比较使用不同数据集构建的模型。因此,要比较带有和不带有特定变量的模型,需要删除这些变量缺少值的行。引用一句话,你可能需要“重新考虑你的建模策略”。否则,您可能还想查看AIC的各种变体,快速的谷歌搜索可能会带来一个很好的起点。感谢您参考
bestglm
软件包,我不知道它。此软件包还需要消除我试图避免的
NA
行。在使用
bestglm(train,IC=“AIC”)
时,我得到了完全相同的错误。我的数据帧没有null,而是一些零。
Error in stepAIC(fit) : 
  number of rows in use has changed: remove missing values?