2016-10-04 6 views
0

Моя задача будет расслаиваться регрессионной задачи, данные выглядят какпередискретизации в СКЛ

f1, f2, f3, ... m1, m2, ..., p1, p2, p3 ...

где f_i - числовые, а остальные столбцы - факторы и целые числа.

Теперь я определяю самостоятельно определить меру m1, после выполнения следующего

measures1 = list(m1, medae) 
measures2 = lapply(measures1, setAggregation, train.mean) 
measures = c(measures1, measures2) 
# rdesc = makeResampleDesc("CV", iters = 3, predict = "both", stratify.cols = "Iodine") #Default is 2/3, both=train&test 
rdesc = makeResampleDesc("CV", iters = 3, predict = "both") #Default is 2/3 

я получил ошибку говоря

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

Когда я подмножество ввода dataframe содержать только числовые данные, есть нет такой ошибки, на самом деле для предсказания полезны только численные данные, но мне нужны другие столбцы для расслоения в расколе поезда. Кто-нибудь знает, что не так?

+0

Пожалуйста, всегда публикуйте полный, воспроизводимый пример. –

+0

Хорошо, сделано в спешке вчера, напишет более подробное описание в будущем – sunxd

ответ

0

Оказывается, с помощью

rapply(dat,function(x)length(unique(x))) 

я мог бы узнать, что есть один столбец только с 1 уникальным значением, проблема решена.

 Смежные вопросы

  • Нет связанных вопросов^_^