Уровень фактора Ошибка в `контрастах <-` (` * tmp * `, value = contr.funs [1 + isOF [nn]]): контрасты могут применяться только к факторам с 2 или более уровнями

Привет, я пытаюсь сделать лучший выбор поднабора с набором данных 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

Как я могу проверить уровень фактора и избежать этого сообщения об ошибке? Спасибо!

1 ответ

Одним из вариантов может быть выбор только тех столбцов, которые имеют 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
Другие вопросы по тегам