2016-09-12 7 views
1

у меня есть набор данных с именами столбцов, как:Суб-настройки таблицы данных с помощью & и grepl

names(d) 
[1] "Code"  "LX(RI)"  "LX(VO)"  "LX(MV)"  "LX(WC189)" "LX(WC035)" 
[7] "NX(RI)"  "NX(VO)"  "NX(MV)"  "NX(WC189)" "NX(WC035)" "AX(RI)"  
[13] "AX(VO)"  "AX(MV)"  "AX(WC189)" "AX(WC035)" "SX3I(RI)" "SXI(VO)"  
[19] "SXI(MV)"  "TX(RI)"  "TX(VO)"  "TX(MV)"  "TX(WC189)" "TX(WC035)" 

Каждая колонка имеет несколько тысяч строк, связанных с ним. То, что я хочу сделать, это использовать grepl для подмножества столбцов таблицы данных на основе тех, которые заканчиваются на RI, и сохранения столбца Code.

В настоящее время я разработал способ подмножества всех столбцов RI в новую таблицу данных. Но я не могу понять, как включить столбец «Код».

У меня в настоящее время:

RI <- d[, grepl("\\(RI", names(d)), with = FALSE] 

Что дает мне то, что я хочу:

names(RI) 
[1] "LX(RI)" "NX(RI)" "AX(RI)" "SX3I(RI)" "TX(RI)" 

Я пытался (обратите внимание, что я включил & код):

RI <- d[, grepl("\\(RI&Code", names(d)), with = FALSE] 

Который я хочу вернуть таблицу данных со следующими столбцами:

[1] "LX(RI)" "NX(RI)" "AX(RI)" "SX3I(RI)" "TX(RI)" "Code" 

Вышеуказанный мой желаемый выход. Однако код ничего не делает и возвращает пустую таблицу данных.

Пара вопросов:

  • Могу ли я использовать & в grepl? Если да, является ли мой пример неправильным? &?
  • Если нет, есть ли какие-либо предложения относительно подмножества как для столбцов RI, так и для кода?

ответ

0

Попробуйте

ab <- c("Code","LX(RI)","LX(VO)","LX(MV)","TX(RI)","NX(RI)","NX(RI)") 


ab[grepl("Code|RI",ab)] 

[1] "Code" "LX(RI)" "TX(RI)" "NX(RI)" "NX(RI)" 
+0

имена (DF) <- с ("код", "LX (ВО)", "TX (RI)", "NX (RI)") Д.Ф. <- df [, grepl («Код | RI», имена (df))] –

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

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