当它以R中的小写字母开头时从数据框单元格中删除第一个单词
Removing first word from data frame cell when it starts with lowercase letter in R
我想用 R
中的细菌物种清理分类法 table,我想删除所有以小写字母开头的单元格的值。
我有一个来自分类 df 的专栏:
Species
Tuwongella immobilis
Woesebacteria
unidentified marine
bacterium Ellin506
我想要:
Species
Tuwongella immobilis
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()
returns 逻辑值,!grepl(^[[:lower:]])
查找不以小写字母开头的任何内容(^
表示字符串的开头)。
library(dplyr)
df %>% filter(!grepl("^[[:lower:]]", Species))
Species
1 Tuwongella immobilis
2 Woesebacteria
我想用 R
中的细菌物种清理分类法 table,我想删除所有以小写字母开头的单元格的值。
我有一个来自分类 df 的专栏:
Species |
---|
Tuwongella immobilis |
Woesebacteria |
unidentified marine |
bacterium Ellin506 |
我想要:
Species |
---|
Tuwongella immobilis |
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()
returns 逻辑值,!grepl(^[[:lower:]])
查找不以小写字母开头的任何内容(^
表示字符串的开头)。
library(dplyr)
df %>% filter(!grepl("^[[:lower:]]", Species))
Species
1 Tuwongella immobilis
2 Woesebacteria