首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >data.frame中的比较因素

data.frame中的比较因素
EN

Stack Overflow用户
提问于 2017-09-04 20:45:17
回答 2查看 123关注 0票数 0

我导入R的原始数据有3列:(I)名称,(II)统计量,(III) #单元格

Name列中给出的名称是详细的,例如:

代码语言:javascript
复制
01Sep17 Trm diffn_Tube_001.fcs/Lymphocytes/Live/CD8a subset/integrin B7 subset    
01Sep17 Trm diffn_Tube_003.fcs/Lymphocytes/Live/CD4 subset/CD103 subset
01Sep17 Trm diffn_Tube_004.fcs/Lymphocytes/Live/CD4 subset/CD73 subset

(table not shown as there are several hundred rows). 

为了简化本专栏,我希望比较一下名称,并删除每个示例之间共享的部分(使用Tube_*.* )。通配符)。例如,上述3项应成为:

代码语言:javascript
复制
CD8a subset/integrin B7 subset
CD4 subset/CD103 subset
CD4 subset/CD73 subset

对于如何做到这一点,有什么建议吗?我不想用

代码语言:javascript
复制
01Sep17 Trm diffn_Tube_0*.*.fcs/Lymphocytes/Live

在变量内部并使用

代码语言:javascript
复制
as.data.frame(sapply(NameofDataFrame,gsub,pattern=VariableName,replacement=""))

因为确切的名字会在实验之间发生变化

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-04 21:03:46

为此,可以使用gsub

代码语言:javascript
复制
gsub("(.*)+Live+/","",x)

[1] "CD8a subset/integrin B7 subset" "CD4 subset/CD103 subset"       
[3] "CD4 subset/CD73 subset"

样本数据:

代码语言:javascript
复制
x <- c(
"01Sep17 Trm diffn_Tube_001.fcs/Lymphocytes/Live/CD8a subset/integrin B7 subset",
"01Sep17 Trm diffn_Tube_003.fcs/Lymphocytes/Live/CD4 subset/CD103 subset",
"01Sep17 Trm diffn_Tube_004.fcs/Lymphocytes/Live/CD4 subset/CD73 subset")
票数 2
EN

Stack Overflow用户

发布于 2017-09-04 21:36:17

使用stringr

代码语言:javascript
复制
library(stringr)

x <- c(
  "01Sep17 Trm diffn_Tube_001.fcs/Lymphocytes/Live/CD8a subset/integrin B7 subset",
  "01Sep17 Trm diffn_Tube_003.fcs/Lymphocytes/Live/CD4 subset/CD103 subset",
  "01Sep17 Trm diffn_Tube_004.fcs/Lymphocytes/Live/CD4 subset/CD73 subset")

str_match(x, '.*/Live/(.*)')[,2]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46043824

复制
相关文章

相似问题

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