r - 删除“.”之后的列标题中的字符
问题描述
我有一个与此处提出的问题类似的问题:r 在某些字符之后删除部分列名,但是我有一点皱纹。我的专栏标题的格式为 ENSG00000124564.16 和 ENSG00000257509.1,但是我想删除后面的所有字符.
我不能只删除最后的 x 个字符,因为列标题在.
符号后的字符数上有所不同
如果我按照sub()
上一个问题中的命令,比如这里:sub(".*", "", colnames(dataset[6:ncol(dataset)]))
,它什么也不做。我假设是因为在正常命令中,该.
符号用于分隔您正在搜索的字符串和*
表示其后任何内容的符号。
如何更改代码以.
用作字符串搜索符号?这可能是一个非常简单的问题。
解决方案
You can escape period like this \\.
:
x <- "ENSG00000124564.16"
sub("\\..*", "", x)
#[1] "ENSG00000124564"
update:
## if you have list of strings it works
x <- c("ENSG00000124564.16", "ENSG00000257509.1")
sub("\\..*", "", x)
# [1] "ENSG00000124564" "ENSG00000257509"
## if you want to try it to change the column names it works
df <- data.frame(ENSG00000124564.16 = c(1, 2, 3), ENSG00000257509.1 = c(1, 1, 1))
names(df) <- sub("\\..*", "", names(df))
# ENSG00000124564 ENSG00000257509
#1 1 1
#2 2 1
#3 3 1
推荐阅读
- python - Python 的迭代器设计背后的基本原理是什么(特别是抛出异常以停止迭代的设计决策)
- python - 如何在 Python 中设置临时目录路径?
- java - 不知道为什么玩家可以从 bukkit GUI 中获取
- android - TimePicker AM/PM 不随语言环境而变化
- python - 如何使用 cnn 和 sparse_Categorical_Crossentropy 构建多类分类器
- javascript - 如何使用javascript变量在xsl中创建href
- git - Git 失败 - 无法读取 XXX.visualstudio.com 的用户名
- python - 根据熊猫中的另一列对唯一值进行排序
- swift - 无需触摸即可移动图像 - xcode / swift
- c# - 鼠标悬停在 WPF 单选按钮上时无法显示适当的弹出消息