2016-11-27 4 views
0

G $ имени - символ столбец dataframeLabelEncoder в г

labels_name <- unique(G$name) 

LabelEncoder <- function(value, labels) { 
    r <- as.numeric(which(labels == value)) 
    returnValue(r) 
} 

G$name1 <- LabelEncoder(G$name, labels_name) 

Выполнение кода выше генерирует следующую ошибку:

Ошибка в $<-.data.frame (*tmp*, "имя1", значение = с (1, 4, 7, 10, 11,: замена имеет 100650 строк, данные имеют 302194 Кроме того: Предупреждение сообщение: В этикетках == значение: больше длины объекта не является кратной длиной короче объекта

Что случилось?

ответ

1

Я решить мою проблему следующим способом:

Поскольку G $ имя вектора я следующая дополнительная функция

LabelEncoder1 <- function(x, labels) { 
    r <- sapply(x, LabelEncoder, labels) 
} 

G$name1 <- LabelEncoder1(G$name, labels_name) 
Смежные вопросы