Имея задачу сделать кластеризацию в R с набором данных, который содержит категориальные текстовые значения (например, «синий», «красный»). Алгоритм k-средних принимает только цифры c, поэтому мне нужно преобразовать эти текстовые категории в категории int. Есть ли однострочное решение? или, может быть, какой-то другой?
Attribute1 Attribute2 Attribute1 Attribute2
Instance1 "blue" "red" => Instance1 1 2
Instance2 "green" "blue" Instance2 3 1
a[,1] <- sapply(a[,1],switch,"blue"=1,"red"=2,"green"=3)
делает задачу, но для первого столбца "a" фрейма данных
x_num <- as.numeric(x)
делает иначе, но выглядит нравится.