首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从列R中删除重复项

从列R中删除重复项
EN

Stack Overflow用户
提问于 2017-07-25 17:25:03
回答 1查看 57关注 0票数 2

我有一个列,其中包含不同长度的I列表,其中一些I具有版本号。

代码语言:javascript
运行
复制
rownames(x)

"ENSP00000424360.1-D4"
"ENSP00000424360.2-D4"
"ENSP00000424360.3-D4"
"ENSP00000437781-D59"
"XP_010974537.1"
"XP_010974538.1"
"XP_010974538.2"

我希望将这些更改为:

代码语言:javascript
运行
复制
"ENSP00000424360"
"ENSP00000424360.1"
"ENSP00000424360.2"
"ENSP00000437781"
"XP_010974537"
"XP_010974538"
"XP_010974538.1"

我可以使用以下命令分别转换ENSxxXPxx

代码语言:javascript
运行
复制
make.unique(substr(rownames(x),1,15))

代码语言:javascript
运行
复制
make.unique(substr(rownames(dds),1,12)) 

如何更改代码以获得所需的结果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-25 17:30:35

我们使用sub删除子字符串并应用make.unique

代码语言:javascript
运行
复制
make.unique(sub("-.*$", "", sub("\\..*", "", rownames(x))))
#[1] "ENSP00000424360"   "ENSP00000424360.1" "ENSP00000424360.2"
#[4] "ENSP00000437781"   "XP_010974537"      "XP_010974538"      "XP_010974538.1"   

数据

代码语言:javascript
运行
复制
x <- structure(list(v1 = 1:7), .Names = "v1", row.names = c("ENSP00000424360.1-D4", 
 "ENSP00000424360.2-D4", "ENSP00000424360.3-D4", "ENSP00000437781-D59", 
 "XP_010974537.1", "XP_010974538.1", "XP_010974538.2"), class = "data.frame")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45299113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档