Как удалить все слова, кроме определенных, из столбца с буквенно-цифровыми значениями в моем фрейме данных? - PullRequest
1 голос
/ 12 июня 2019

Итак, у меня есть столбец в кадре данных со всей этой информацией, но я хочу отфильтровать его и удалить каждое слово перед словом «Перикарида» для каждой строки столбца, включая удаление слова «Перикарида».

1.KU189316.1.2308 Eukaryota Opisthokonta Holozoa Metazoa (Animalia) Eumetazoa Bilateria Arthropoda Crustacea Malacostraca Eumalacostraca Peracarida Thermosphaeroma subequalum

2.EU414446.1.2220 Eukaryota Opisthokonta Holozoa Metazoa (Animalia) Eumetazoa Bilateria Arthropoda Crustacea Malacostraca Eumalacostraca Peracarida Betamorpha africana

3.JF699592.1.2323 Eukaryota Opisthokonta Holozoa Metazoa (Animalia) Eumetazoa Bilateria Arthropoda Crustacea Malacostraca Eumalacostraca Peracarida Scutuloidea maculata

Ожидаемый результат должен быть примерно таким, но сейчас я понятия не имею, как это сделать. Заранее благодарю за любые ответы.

1.Thermosphaeroma subequalum

2.Betamorpha africana

3.Scutuloidea maculata

1 Ответ

0 голосов
/ 12 июня 2019

Опцией является sub для захвата цифр, за которыми следует точка (\\d+\\.) в начале (^) строки, а затем символы после «Peracarida», за которым следует один или несколько пробелов (\\s+).При замене используйте обратную ссылку (\\1, \\2) захваченной группы

sub("^(\\d+\\.).*\\sPeracarida\\s+(.*)$", "\\1\\2", str1)
#[1] "1.Thermosphaeroma subequalum" "2.Betamorpha africana"    
#[3]    "3.Scutuloidea maculata" 

ПРИМЕЧАНИЕ. Здесь мы предполагаем, что ОП тоже хотел выбрать номер в начале.Если это не нужно, просто сделайте

sub(".*\\bPeracarida\\s*", "", str1)
#[1] "Thermosphaeroma subequalum" "Betamorpha africana"  
#[3] "Scutuloidea maculata"   

data

str1 <- c("1.KU189316.1.2308 Eukaryota Opisthokonta Holozoa Metazoa (Animalia) Eumetazoa Bilateria Arthropoda Crustacea Malacostraca Eumalacostraca Peracarida Thermosphaeroma subequalum", 
"2.EU414446.1.2220 Eukaryota Opisthokonta Holozoa Metazoa (Animalia) Eumetazoa Bilateria Arthropoda Crustacea Malacostraca Eumalacostraca Peracarida Betamorpha africana", 
"3.JF699592.1.2323 Eukaryota Opisthokonta Holozoa Metazoa (Animalia) Eumetazoa Bilateria Arthropoda Crustacea Malacostraca Eumalacostraca Peracarida Scutuloidea maculata"
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...