在 tibble 中更改行名

Altering rownames in tibble

提问人:Isabella Nalepa 提问时间:6/16/2022 最后编辑:The ThonnuIsabella Nalepa 更新时间:9/23/2022 访问量:29

问:

我有 2 个不同的 tibb,并且必须找出第一个 tibble 中有多少行也存在于第二个 tible 中。两个 tibble 都有一个名为 GeneID 的第一列,但问题是,在一个 tibble 中,基因的名称为 1、2、3、4 等,而在 sencond tibble 中,它们被命名为 Gene1、Gene2、Gene3、Gene4......无论如何,是否可以在第一个数字之前添加“Gene”或在第二个数字中删除“Gene”?

数据操作 Tibble

评论


答:

0赞 Dennis 6/16/2022 #1

最好包含您的数据样本,以便响应者能够正确回答。例如,如果 2 个数据集之间的字段顺序相同,例如 df1 和 df2,您可以通过简单的方法使名称相同:

names(df1) <- names(df2)
0赞 Carl 6/16/2022 #2

这是你想做的吗?

library(tidyverse)

df1 <- tribble(
  ~gene,
  1,
  2,
  5,
  6
)

df2 <- tribble(
  ~gene,
  "Gene1",
  "Gene2",
  "Gene3",
  "Gene4",
  "Gene5"
)

# df1 rows also in df2
df1 |> 
  mutate(gene = str_c("Gene", gene)) |> 
  inner_join(df2, by = "gene")
#> # A tibble: 3 × 1
#>   gene 
#>   <chr>
#> 1 Gene1
#> 2 Gene2
#> 3 Gene5

reprex 软件包 (v2.0.1) 于 2022-06-16 创建