Например, имеется большой массив данных >100 переменных. А мне необходимо отобрать лишь количественные. Как можно сделать подобное?
Ответ
Предварительно стоит изучить структуру данных с помощью функции str()
Выполнить поставленную Вами задачу можно следующим образом:
sapply(DF, is) # классы столбцов
DF[, sapply(DF, is.numeric)] # все столбцы класса numeric
DF[, sapply(DF, is.factor)] # все столбцы класса factor
DF[, sapply(DF, is.character)] # все столбцы класса character
Можно также использовать комбинацию sapply + which: DF[, which(sapply(DF, is.numeric))]. В некоторых случаях данный вариант показывает более высокую производительность.
Также стоит отметить, что для числовых переменных могут применяться разные классы: integer (целые числа), double (числа с плавающей запятой) или numeric (включает в себя два предыдущих типа). Это может пригодиться, если, например, необходимо отфильтровать только столбцы, содержащие целые числа.
Комментариев нет:
Отправить комментарий