您是否需要转换为 data.frame 以便在转换为 tibble 之前转换行名

Do you need to cast to data.frame in order to convert rownames before casting to tibble

我使用输出命名矩阵的基因表达包。为了把它变成一个 tibble,我总是必须先将它转换为 data.frame,这样我才能转换行名。有没有更短的方法来做到这一点?例如:

library(tidyverse)
normalized_counts %>% 
  as.data.frame() %>%
  rownames_to_column('name') %>%
  gather(key = experiment, value = expression, -name) %>%
  as_tibble()

我更愿意做类似的事情:

library(tidyverse)
normalized_counts %>% 
  as_tibble() %>%
  rownames_to_column('name') %>%
  gather(key = experiment, value = expression, -name)

但我不能,因为我在 as_tibble 步骤中丢失了行名。

as_tibble 有一个您可以使用的行名称参数。

library(tidyverse)
normalized_counts %>% 
  as_tibble(rownames = 'name') %>%
  gather(key = experiment, value = expression, -name)