Я хочу очистить таблицу таксономии с видами бактерий в R
и удалить значения из всех ячеек, начинающихся с маленькой буквы.
У меня есть столбец из таксономии df:
Разновидность |
---|
Тувонгелла иммобилис |
Woesebacteria |
неопознанный морской |
бактерия Эллин506 |
И я хочу:
Разновидность |
---|
Тувонгелла иммобилис |
Woesebacteria |
unwanted <- "^[:upper:]+[:lower:]+"
tax.clean$Species <- str_replace_all(tax.clean$Species, unwanted, "")
но, похоже, это не работает и не соответствует желаемым видам.
Кажется, это работает! Спасибо :)
Мы сможем
grep('^[A-Z]', df$Species, value = T)
[1] "Tuwongella immobilis" "Woesebacteria"
Если вы работаете с фреймворком данных, я предлагаю использовать dplyr::filter
для очистки фрейма данных.
grepl()
возвращает логические значения, !grepl(^[[:lower:]])
ищет все, что не начинается с буквы нижнего регистра (^
указывает на начало строки).
library(dplyr)
df %>% filter(!grepl("^[[:lower:]]", Species))
Species
1 Tuwongella immobilis
2 Woesebacteria
^[:lower:].+
работает?