У меня есть набор данных с именами столбцов, например:
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 И сохраняя столбец кода.
В настоящее время я разработал, как подмножить все столбцы RI в новую таблицу data.table, но я не могу понять, как включить столбец Code.
В настоящее время у меня есть:
RI <- d[, grepl("\\(RI", names(d)), with = FALSE]
Что дает мне то, что я хочу:
names(RI)
[1] "LX(RI)" "NX(RI)" "AX(RI)" "SX3I(RI)" "TX(RI)"
Я пытался (обратите внимание, что я включил &Code):
RI <- d[, grepl("\\(RI&Code", names(d)), with = FALSE]
Что я хочу вернуть таблицу данных со следующими столбцами:
[1] "LX(RI)" "NX(RI)" "AX(RI)" "SX3I(RI)" "TX(RI)" "Code"
Вышеуказанный мой желаемый результат. Однако код ничего не делает и возвращает пустую таблицу данных.
Пара вопросов:
- Могу ли я использовать & в grepl? Если да, то мой пример использует & неправильно?
- Если нет, есть ли какие-либо предложения о том, как создать подмножество для столбцов RI и кода?