Я хочу преобразовать свои категориальные данные в числа, чтобы я мог использовать некоторые пакеты.
Код под этим.
data("iris")
str(iris)
must_convert<-sapply(iris,is.factor) # logical vector telling if a variable needs to be displayed as numeric
M2<-sapply(iris[,must_convert],as.numeric) # data.frame of all categorical variables now displayed as numeric
out<-cbind(iris[,!must_convert],M2) #output based on original dataframe
Проблема в том, что для некоторых переменных существует 10уровней, и простого преобразования в числа недостаточно, потому что, очевидно, проверка вручную, какое число является каким фактором, не очень эффективна.Я пытаюсь преобразовать числа в коэффициент или список, например:
iris_factors_to_numbers
Species
setosa = 1
versicolor = 2
virginica = 3
Кроме того, хотя данные радужной оболочки имеют только одну категориальную переменную, у моих их много.