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"
>
我有一个 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"
>