重命名R中的第一列

hs1ihplo  于 2023-01-15  发布在  其他
关注(0)|答案(3)|浏览(170)

我有这个df,我想用A,B,C来重命名第一列:

DF <-
   seqnames    start      end width strand peak feature start_position end_position feature_strand insideFeature
A      chr1  3191703  3192103   401      *    1  X48094        3172239      3172348              +    downstream
B      chr1  3482756  3483156   401      *    2  X48098        3445779      3448011              -      upstream
C      chr1  3549453  3549853   401      *    3  X48099        3535200      3537508              -      upstream

因为当我把它保存为xls文件的列名滑动,不再匹配.一个例子的输出是:

DF <-

COLNAMES   seqnames    start      end width strand peak feature start_position end_position feature_strand insideFeature
        A      chr1  3191703  3192103   401      *    1  X48094        3172239      3172348              +    downstream
        B      chr1  3482756  3483156   401      *    2  X48098        3445779      3448011              -      upstream
        C      chr1  3549453  3549853   401      *    3  X48099        3535200      3537508              -      upstream
5ssjco0h

5ssjco0h1#

可以使用tibble包中的rownames_to_column函数。可以使用以下代码:

DF <- data.frame(row.names = LETTERS[1:2],
                 seqnames = c("chr1", "chr1"),
                 start = c(1, 3))

library(tibble)
DF %>%
  rownames_to_column(var="name")

输出:

name seqnames start
1    A     chr1     1
2    B     chr1     3
snvhrwxg

snvhrwxg2#

假设你的列A, B, C代表行名,你可以在基R中这样做:

DF <- data.frame(COLNAMES = LETTERS[1:3],
                 a = 1:3,
                 b = letters[1:3])

DF$row_nms <- COLNAMES(DF)

DF <- DF[, c("row_nms", "a", "b")]

DF
#>   COLNAMES a b
#> A       A 1 a
#> B       B 2 b
#> C       C 3 c

Or using {tibble}

库(tibble)

rownames_to_column(DF, var = "COLNAMES")
#>   COLNAMES row_nms a b
#> 1     A       A 1 a
#> 2     B       B 2 b
#> 3     C       C 3 c

reprex package(v2.0.1)于2022年4月18日创建

jfgube3f

jfgube3f3#

在base中,cbinddata.frame可用于添加显示rownames的列。

cbind(COLNAMES = rownames(x), x)
#data.frame(COLNAMES = rownames(x), x) #Alternative
#  COLNAMES seqnames start
#A        A     chr1     1
#B        B     chr1     3

数据:

x <- data.frame(row.names = LETTERS[1:2],
                seqnames = c("chr1", "chr1"),
                start = c(1, 3))

相关问题