我正在尝试从 TCGA 数据集中的行名中删除小数。例如,从“ENSG00000124333.15”转到“ENSG00000124333”。
我尝试过以下代码:
rownames(rna) <- gsub("\\..*", "", rownames(rna))
当我运行此命令时,我收到一条错误消息,指出不允许重复的“row.names”。但在执行此操作之前我无法删除重复项,因此我不确定如何继续。
解决此问题的一种方法是创建一个新列,然后将
gsub()
应用于新列。之后,您可以使用新列作为数据整理的基础:
# Sample data
rna <- data.frame(row.names = paste0("ENSG00000124333.", 1:5),
var1 = 1:5)
rna
var1
ENSG00000124333.1 1
ENSG00000124333.2 2
ENSG00000124333.3 3
ENSG00000124333.4 4
ENSG00000124333.5 5
# Add row names to new column
rna$rowIDs <- rownames(rna)
rna
var1 rowIDs
ENSG00000124333.1 1 ENSG00000124333.1
ENSG00000124333.2 2 ENSG00000124333.2
ENSG00000124333.3 3 ENSG00000124333.3
ENSG00000124333.4 4 ENSG00000124333.4
ENSG00000124333.5 5 ENSG00000124333.5
# Remove characters after .
rna$rowIDs <- gsub("\\..*", "", rna$rowIDs)
rna
var1 rowIDs
ENSG00000124333.1 1 ENSG00000124333
ENSG00000124333.2 2 ENSG00000124333
ENSG00000124333.3 3 ENSG00000124333
ENSG00000124333.4 4 ENSG00000124333
ENSG00000124333.5 5 ENSG00000124333