2015-06-24 6 views
3

Я пытаюсь использовать пакет dplyr, чтобы выбрать все столбцы, начинающиеся с i. У меня есть следующий код:выберите столбцы на основе первой буквы столбцов, используя grep или grepl в r

dat<-select(newdat1,starts_with("i")) 

и COLNAMES для моих данных являются:

> colnames(newdat) 
[1] "i22" "i21" "i20" "i24" 

Это просто совпадение в этом случае все они начинаются с я, как и в других случаях будет большее разнообразие; таким образом, я хочу автоматизировать процесс. Проблема в том, что мой код с использованием dplyr верен; однако у меня возникают проблемы с пакетом, поэтому мне было интересно, если/как выполнить ту же задачу с grep или grepl или что-то действительно использующее базовый пакет. Благодаря!

+0

Или 'newdat1 [, substr (имена (newdat1), 1, 1) ==" i "]' –

+0

Я попробую это также спасибо! – costebk08

+0

Btw, это в значительной степени [что 'strat_with' делает] (https://github.com/hadley/dplyr/blob/master/R/select-utils.R#L1-L9) на самом деле. –

ответ

9

С базой R вы можете использовать grep для соответствия названиям столбцов. Вы можете использовать

dat<-newdat1[,grep("^i", colnames(newdat1))] 

Сделать стартовой запрос. Вы можете использовать любое регулярное выражение, которое вы хотите, в качестве шаблона в grep().

+0

Отлично, что сработало спасибо! – costebk08

 Смежные вопросы

  • Нет связанных вопросов^_^