Как факторизовать определенные столбцы в data.frame в R с помощью apply

У меня есть data.frame с именем mydata и vector ids, содержащий индексы столбцов в data.frame, которые я хотел бы преобразовать в факторы. Теперь следующий код решает проблему

for(i in ids) mydata[, i]<-as.factor(mydata[, i])

. Теперь я хотел очистить этот код, используя apply вместо явного цикла for.

mydata[, ids]<-apply(mydata[, ids], 2, as.factor)

Однако последний оператор дает мне data.frame, где типы являются символами, а не факторами. Я не вижу различия между этими двумя строками кода. Почему они не дают того же результата?

С уважением, Майкл

7
задан Dr. Mike 2 November 2011 в 11:16
поделиться