gsub - 如何使用 gsub() 重命名 df 中的变量?
问题描述
我正在尝试重命名丰度矩阵中的分类群注释以创建气泡图(原始数据 16S MiSeq)。我的数据框“data_melt”如下所示:
而且我希望将“变量”列中的分类群 ID 重命名为简单的姓氏(类级别)。例如:“D_0__Archaea.D_1__Altiarchaeota.D_2__Altiarchaeia”到“Altiarchaeia”。
我尝试过
data_melt$variable <- gsub("D_0__[A-z].D_1__[A-z].D_2__", "", data_melt$variable)
无济于事。我在其他数据集上成功使用了这行代码,但是“data_melt”没有变化。甚至没有任何警告/错误消息。有任何想法吗?
先感谢您,
Ĵ
解决方案
您可以通过替换来修复您的[A-z].
方法[A-Za-z]+\\.
:
data_melt$variable <- sub("D_0__[A-Za-z]+\\.D_1__[A-Za-z]+\\D_2__", "", data_melt$variable)
匹配的[A-z]
不仅仅是字母,还.
匹配任何字符,而您想匹配文字点。当点被转义时,它只匹配一个文字点。
但是,您可以通过删除最后一个下划线(包括最后一个下划线)来解决问题:
sub(".*_", "", data_melt$variable)
请注意,您可以使用sub
您希望更换的产品。
推荐阅读
- ruby - ruby 无法安装 gems,只能手动安装
- java - 浏览多个列表以查找相同的对象
- python - 使用 Python 覆盖 C 程序中的资源部分
- java - Log4j2 通过 Java Webstart 登录客户端系统
- apache-spark - pyspark - 错误的工作目录和阻塞的线程错误
- javascript - 如何拆分组件并保持道具正常工作
- maven - 找不到 org.springframework.security:spring-security-b om:jar:5.0.6.RELEASE
- c++ - 将信号连接到基类的构造函数中的纯虚拟槽是否安全?
- sql - 根据另一列的日期范围更新列的最佳 SQL 方法。
- python - 在 django 中过滤外键