我想清理一个分类表,里面有R种细菌,我想删除所有以小写字母开头的单元格中的值.

我有一个来自taxonomy 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, "")

但它似乎不起作用,也不符合理想的物种.

推荐答案

如果您使用的是dataframe,我建议使用dplyr::filter来清理dataframe.

grepl()返回逻辑值,!grepl(^[[:lower:]])查找任何不以小写字母开头的内容(^表示字符串的开头).

library(dplyr)

df %>% filter(!grepl("^[[:lower:]]", Species))

               Species
1 Tuwongella immobilis
2        Woesebacteria

R相关问答推荐

R:如何自动化变量创建过程,其中我需要基于ifelse()为现有变量的每个级别创建一个单独的变量

self_函数无法工作--无法子集结束后的列

如何在ggplot 2 geom_segment图表中将UTC转换为EET?

整数成随机顺序与约束R?

如何动态更新selectizeInput?

将重复项转换为NA

绘制采样开始和采样结束之间的事件

解析R函数中的变量时出现的问题

使用Scale_*_MANUAL时在图例中保留未使用的系数级别

按组计算列中1出现的间隔年数

提高圣彼得堡模拟的速度

使用R将简单的JSON解析为嵌套框架

解析嵌套程度极高的地理数据

使用gt_summary是否有一种方法来限制每个变量集进行配对比较?

使用来自嵌套列和非嵌套列的输入的PURRR:MAP和dplyr::Mariate

如何构建一个for循环来循环处理动物ID?

在不重复主题的情况下重新排列组

使用列名和r中的前缀 Select 列的CREATE函数

通过比较来自多个数据框的值和R中的条件来添加新列

在R中,有没有什么方法可以根据一列中的多个值来过滤行?