Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何删除'';从数据帧中的列内容?_R_Dataframe - Fatal编程技术网

R 如何删除'';从数据帧中的列内容?

R 如何删除'';从数据帧中的列内容?,r,dataframe,R,Dataframe,我有一个包含许多ensembl基因注释的数据框,DF如下所示: geneID 1 ENSG00000000005.5 2 ENSG00000001561.6 3 ENSG00000002726.18 4 ENSG00000005302.16 5 ENSG00000005379.14 6 ENSG00000006116.3 所以我想删除“.”和每个ID末尾的数字。我总共有11224行。 我尝试使用gsub命令gsub(“.”,“”,colnames(dataframe)),

我有一个包含许多ensembl基因注释的数据框,DF如下所示:

        geneID
1  ENSG00000000005.5
2  ENSG00000001561.6
3 ENSG00000002726.18
4 ENSG00000005302.16
5 ENSG00000005379.14
6  ENSG00000006116.3
所以我想删除“.”和每个ID末尾的数字。我总共有11224行。 我尝试使用gsub命令
gsub(“.”,“”,colnames(dataframe))
,但这没有帮助

有什么建议吗?
提前谢谢。

如果我们需要结尾处的
,请捕获字符,直到
(因为
是一个元字符,表示任何字符,请将其转义(
\\
),后跟一个或多个数字(
\\d+
),直到字符串结束,并替换为反向引用(
\\1
)被俘虏的群体

df1$geneID <- sub("^(.*\\.)\\d+$", "\\1", df1$geneID)

您可以使用以下代码删除“.”之后的字母数字

gsub("\\..*", "", df$geneID)

是否存在这样一种情况,即您将拥有非数字,并希望保持其完整性?i、 e.
ENSG000000005.TR
保持不变…或
ensg00000005.5E
保留
ensg00000005.e
?如果不是,并且您希望始终删除点之后的所有内容,则这是的副本
gsub("\\..*", "", df$geneID)