Как использовать цикл для удаления столбцов во фрейме данных? - PullRequest
0 голосов
/ 26 ноября 2018

Мой код:

SMI_Mly$V1 <- NULL
SMI_Mly$V2 <- NULL
SMI_Mly$V3 <- NULL
SMI_Mly$V4 <- NULL
...
SMI_Mly$V10 <- NULL

Я уверен, что есть лучший и более короткий способ удалить все эти столбцы из кадра данных.Может быть, с помощью цикла?Может кто-нибудь показать мне, как это сделать?

1 Ответ

0 голосов
/ 26 ноября 2018

Здесь вы можете использовать соответствующее подмножество:

cols <- paste0("V", c(1:10))
indices <- sapply(cols, function(x) { grep(x, names(df)) })
SMI_Mly[, -indices]

Вышеупомянутый вызов sapply генерирует позиционные индексы столбцов от V1 до V10, которые вы хотите исключить из вашего фрейма данных,Затем мы можем использовать обозначение подмножества, чтобы исключить эти столбцы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...