strsplit的行为不符合预期R
我在R中有一个基本问题,我所使用的一切都是我所熟悉的(数据、函数),但由于某种原因,我无法使strsplit的行为不符合预期R,r,split,R,Split,我在R中有一个基本问题,我所使用的一切都是我所熟悉的(数据、函数),但由于某种原因,我无法使strsplit或gsub函数按预期工作。我还尝试了stringr包。我不打算费心用这个包编写代码,因为我知道这个问题很简单,可以用上面提到的两个函数来完成。就我个人而言,我觉得为这篇文章写一页是没有必要的,但我的耐心在这一点上是非常有限的 我正在尝试删除集合基因ID中的“.”和后跟“.”的数字。很简单,我知道 id <- "ENSG00000223972.5" gsub(".*", "", id)
strsplit
或gsub
函数按预期工作。我还尝试了stringr
包。我不打算费心用这个包编写代码,因为我知道这个问题很简单,可以用上面提到的两个函数来完成。就我个人而言,我觉得为这篇文章写一页是没有必要的,但我的耐心在这一点上是非常有限的
我正在尝试删除集合基因ID中的“.”和后跟“.”的数字。很简单,我知道
id <- "ENSG00000223972.5"
gsub(".*", "", id)
strsplit(id, ".")
id阅读?strsplit
的帮助文件,您不能使用“
帮助:
unlist(strsplit("a.b.c", "."))
## [1] "" "" "" "" ""
## Note that 'split' is a regexp!
## If you really want to split on '.', use
unlist(strsplit("a.b.c", "[.]"))
## [1] "a" "b" "c"
## or
unlist(strsplit("a.b.c", ".", fixed = TRUE))
像gsub中的“\\。”
那样对其进行转义,或者使用fixed=TRUE。另外,您应该注意到您没有分配gsub的结果。我不知道这一点,应该仔细查看帮助页面。谢谢
> gsub("[.]", "", id)
[1] "ENSG000002239725"
> strsplit(id, split = "[.]")
[[1]]
[1] "ENSG00000223972" "5"
unlist(strsplit("a.b.c", "."))
## [1] "" "" "" "" ""
## Note that 'split' is a regexp!
## If you really want to split on '.', use
unlist(strsplit("a.b.c", "[.]"))
## [1] "a" "b" "c"
## or
unlist(strsplit("a.b.c", ".", fixed = TRUE))