【问题标题】:Select row names based on character in R [duplicate]根据R中的字符选择行名[重复]
【发布时间】:2020-11-07 11:34:32
【问题描述】:

我有一个字符 x:

x<-c("TTTCGATGTCCACACG", "TTTGTTGAGACGTCGA", "TTTGTTGTCATCTGTT")

和一个数据框 z

z <- data.frame (y=c(8, 10, 5, 10, 5, 10))
row.names (z) <- c("TTTCGATGTCCACACG", "TTTGTTGAGACGTCGA", "TTTGTTGTCATCTGTT", "TTTCGATGTCCAAACG", "TTTGTTGAATCCTCGA", "TTTGTTGTCATGTGTT")

我想选择与 x 中的名称匹配的列和行。

输出

                  y
TTTCGATGTCCACACG  8
TTTGTTGAGACGTCGA  10
TTTGTTGTCATCTGTT  5

【问题讨论】:

    标签: r dataframe character


    【解决方案1】:

    R 基础

    > z[rownames(z) %in% x, , drop=FALSE]
                      y
    TTTCGATGTCCACACG  8
    TTTGTTGAGACGTCGA 10
    TTTGTTGTCATCTGTT  5
    

    使用 dplyr

     library(dplyr)
     library(tibble)
     
     z %>% 
       tibble::rownames_to_column() %>% 
       filter(rowname %in% x)
               rowname  y
    1 TTTCGATGTCCACACG  8
    2 TTTGTTGAGACGTCGA 10
    3 TTTGTTGTCATCTGTT  5
    

    【讨论】:

      猜你喜欢
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 2020-09-22
      • 2021-03-05
      • 1970-01-01
      • 2015-08-03
      相关资源
      最近更新 更多