因子水平“对比度”中的错误< -`(`* tmp *`,value = contr.funs [1 + isOF [nn]]):对比度只能应用于2级或更多级别的因子

时间:2018-03-17 06:12:08

标签: r regression selection

您好我正在尝试使用nhanes2003-2004数据集进行最佳子集选择。

load("/Users/nhanes2003-2004.Rda") regfit.full=regsubsets(RIDAGEEX~.,data=nhanes2003_2004)

我一直收到此错误消息

Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : contrasts can be applied only to factors with 2 or more levels

以下是数据的快照,也可以通过https://wwwn.cdc.gov/nchs/nhanes/ContinuousNhanes/Default.aspx?BeginYear=2003获取数据 enter image description here

如何检查因子级别并避免此错误消息?谢谢!

1 个答案:

答案 0 :(得分:0)

一个选项可能是仅选择列中unique值大于1的列。

# Columns having unique values more than one 
validcols <- sapply(nhanes2003_2004, 
    function(x)length(unique(x[!is.na(x)])) > 1)

#Select only valid columns 
df <- nhanes2003_2004[,validcols]

#Perfomr analysis on df