sample
Symobls IDs Value1 Value2 Value3
1 NA NA 3.1 2.3 1.7
2 TP53 1234 5.8 6.9 10.1
3 Kras 5678 0.1 0.3 0.5
4 NA NA 10.3 2.1 7.9
5 Hras 9991 20.0 30.0 40.0
6 TP53 1234 -3.1 0.2 1.7
我的表看起来像这个。 我需要按行或列来计算值。 所以,我尝试使用符号作为新的行名。通过这种方式,我可以使用样本[," Hras"]来计算整行值。 当试图这样做时,我遇到了这个问题。
rownames(样品)LT; -sample [1]
row.names<-.data.frame
(*tmp*
,值=值)出错: 重复&#39; row.names&#39;不允许 另外:警告信息: 设置&#39; row.names&#39;:'A1CF','A2M','A2ML1','AAGAB','AAK1','AAMDC','AARS2','AASDH','时的非唯一值AASDHPPT','AASS','ABAT','ABCA1','ABCA13','ABCA2','ABCA4','ABCA5','ABCA8','ABCA9','ABCB1','ABCB11','ABCB4' ,'ABCB5','ABCB6','ABCB8','ABCB9','ABCC1','ABCC10','ABCC11','ABCC12','ABCC13','ABCC3','ABCC4','ABCC5',' ABCC6','ABCC8','ABCC9','ABCD3','ABCD4','ABCE1','ABCF2','ABCG1','ABHD1','ABHD10','ABHD11','ABHD12','ABHD13' ,'ABHD17B','ABHD2','ABHD5','ABHD6','ABI1','ABI2','ABI3BP','ABL2','ABLIM1','ABLIM2','ABO','ABR',' ABRA','ABTB1','ABTB2','ACAA1','ACAA2','ACACA','ACACB','ACAD10','ACADL','ACADSB','ACAN','ACAP1','ACAP2' ,'ACAP3','ACAT 1',��[...截断]
这是因为&#34; NA&#34;?其他选择? 感谢
这是一个微阵列数据集。我已经完成了标准化,并提取了几个基因的值来进行绘图,互相关和t检验。事实上,不仅NA而且我将用于绘制图形的几个基因都有多行。所以,我需要将它们提取到另一个表中供以后使用。
答案 0 :(得分:0)
在这里,我只是回答了一个方法,可以根据您在问题中的要求更改row.names
。最终目标尚不清楚。对于指定的问题,您可以尝试将make.names
与选项unique=TRUE
一起使用。这将确保重复项的命名方式不同。在第一列中,有NA
个值,这些值将被命名为NA.
,NA..1
等。(如果可以的话)。
row.names(sample) <- make.names(sample[,1],TRUE)
或者@Richard Scriven评论,
row.names(sample) <- paste(make.unique(df[,1]))
另一种选择是将data.frame
转换为matrix
(这将允许重复值)。只有当columns
属于同一类时,我才会推荐这个。例如,如果您有character
和numeric
列,则会将所有列转换为character
类。在您的数据集中,在我看来除了第一列之外,所有其他都是数字(可能除了“ID”列)。但是NA
值再次成为问题。如果你想根据rownames对'1st'或'3rd'行进行子集化,那将很困难。
sample1 <- as.matrix(sample[,-1])
row.names(sample1) <- sample[,1]
sample1['Hras',]
# IDs Value1 Value2 Value3
# 9991 20 30 40