gpt4 book ai didi

r - 如何命名 data.frame 的未命名第一列

转载 作者:行者123 更新时间:2023-12-04 01:51:51 24 4
gpt4 key购买 nike

我有一个如下所示的数据框:

> mydf
val1 val2
hsa-let-7a 2.139890 -0.03477569
hsa-let-7b 2.102590 0.04108795
hsa-let-7c 2.061705 0.02375882
hsa-let-7d 1.938950 -0.04364545
hsa-let-7e 1.889000 -0.10575235
hsa-let-7f 2.264296 0.08465690

请注意,从 3 列中,只有第 2 和第 3 列是名称。
我想要做的是命名第一列(加上重命名第二和第三列)。

但是为什么这个命令失败了?
colnames(mydf) <- c("COL1","VAL1","VAL2");

正确的做法是什么?

它给了我:
Error in `colnames<-`(`*tmp*`, value = c("COL1", "VAL1", "VAL2" :
'names' attribute [3] must be the same length as the vector [2]

最佳答案

您可以将行名称加入数据框,如下所示:

mydf <- cbind(rownames(mydf), mydf)
rownames(mydf) <- NULL
colnames(mydf) <- c("COL1","VAL1","VAL2")

或者,一步:
setNames(cbind(rownames(mydf), mydf, row.names = NULL), 
c("COL1", "VAL1", "VAL2"))
# COL1 VAL1 VAL2
# 1 hsa-let-7a 2.139890 -0.03477569
# 2 hsa-let-7b 2.102590 0.04108795
# 3 hsa-let-7c 2.061705 0.02375882
# 4 hsa-let-7d 1.938950 -0.04364545
# 5 hsa-let-7e 1.889000 -0.10575235
# 6 hsa-let-7f 2.264296 0.08465690

关于r - 如何命名 data.frame 的未命名第一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16030728/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com