Страницы

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

понедельник, 6 января 2020 г.

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

#r #dataframe


Например, имеется большой массив данных >100 переменных. А мне необходимо отобрать
 лишь количественные. Как можно сделать подобное?
    


Ответы

Ответ 1



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

Ответ 2



df_numeric <- df[ , sapply(df, is.numeric)] Создание нового дата фрейма df_numeric только с количественными данными из исходного df. is.numeric проверяет столбцы на предмет того, являются ли они количественными

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

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