R - выбрать только факторные столбцы данных

Я пытаюсь выбрать только факторные столбцы из моего фрейма данных.Пример ниже:Но код ведет себя странно.Шаг за шагом:Я получил:Выглядит хорошоТеперь я предполагаю, что я просто передаю эту матрицу ИСТИНА /ЛОЖЬ на следующий шаг и получаю только те столбцы, которые мне нужны:Но в результате я получаю все те же столбцы, что и в оригинальном банке данных.Ничего не отфильтровано.Я попробовал это так или иначе, но не могу найти решение.Любой совет, что я делаю не так?
4 голоса | спросил Maksim Khaitovich 31 MarpmFri, 31 Mar 2017 22:07:05 +03002017-03-31T22:07:05+03:0010 2017, 22:07:05

2 ответа


0
#DATA
df = mtcars
colnames(df) = gsub("mpg","id",colnames(df))
df$am = as.factor(df$am)
df$gear = as.factor(df$gear)
df$id = as.factor(df$id)

#Filter out 'id' after selecting factors
df[,sapply(df, is.factor) & colnames(df) != "id"]
ответил d.b 31 MarpmFri, 31 Mar 2017 22:27:12 +03002017-03-31T22:27:12+03:0010 2017, 22:27:12
0
df = mtcars
colnames(df) = gsub("mpg","id",colnames(df))
df$am = as.factor(df$am)
df$gear = as.factor(df$gear)
df$id = as.factor(df$id)

library(dplyr)
df %>%  select_if(is.factor) %>% select(-id)
ответил MLEN 1 PMpSat, 01 Apr 2017 22:40:07 +030040Saturday 2017, 22:40:07

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132