data.table R 中的 strsplit 函数

strsplit function in R for data.table

我有一个 table,其中我的一个专栏 (mydata$Gene) 有一些 ID,格式如下:

ENSG00000000419.8
ENSG00000000460.12

我想了解如何使用 strsplit 函数删除 .xx 部分

所以我希望所有输出都显示为

ENSG00000000419
ENSG00000000460

等等

到目前为止我尝试了以下代码:

strsplit(mydata$Gene, ".", fixed=TRUE)

但出现错误:

Error in strsplit(mydata$Gene, ".", fixed = TRUE) : non-character argument

还有

strsplit(mydata$Gene, "\.", fixed=TRUE)

Error: '.' is an unrecognized escape in character string starting ""."

有什么建议吗?

感谢您的宝贵时间。

这行得通,因为您的数据看起来像是一个因素:

> strsplit(as.character(mydata$Gene), ".", fixed=TRUE)
[[1]]
[1] "ENSG00000000419" "8"              

[[2]]
[1] "ENSG00000000460" "12"             

但是如果您只需要点之前的文字,您可以通过替换替换来做得更好:

> sub("\..*$","",mydata$Gene)
[1] "ENSG00000000419" "ENSG00000000460"
>