#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 проверяет столбцы на предмет того, являются ли они количественными
Комментариев нет:
Отправить комментарий