【问题标题】:Do you need to cast to data.frame in order to convert rownames before casting to tibble您是否需要转换为 data.frame 才能在转换为 tibble 之前转换行名
【发布时间】:2018-06-09 15:22:08
【问题描述】:

我使用输出命名矩阵的基因表达包。为了把它变成一个小标题,我总是必须先把它转换成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 步骤中丢失了行名。

【问题讨论】:

  • 最好提供一个可重现的小例子。 normalized_counts 是什么?是矩阵吗?如果是这种情况,tibbledata_frame 会去掉行名,并使用默认行号作为行名,而 as.data.frame 会保留行名。

标签: r dplyr tidyr tibble


【解决方案1】:

as_tibble 有一个可以使用的 rownames 参数。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 2012-02-13
    • 2016-07-23
    • 2019-02-11
    相关资源
    最近更新 更多