Страницы

Поиск по вопросам

четверг, 14 февраля 2019 г.

Как в объекте типа data.frame отобрать переменные только одного типа?

Например, имеется большой массив данных >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 (включает в себя два предыдущих типа). Это может пригодиться, если, например, необходимо отфильтровать только столбцы, содержащие целые числа.

Комментариев нет:

Отправить комментарий