2017-12-29 18 views
0

Ich benutze ein Genexpressionspaket, das eine benannte Matrix ausgibt. Um dies in ein tibble zu bekommen, muss ich es immer zuerst auf data.frame umwandeln, damit ich dann die rownames konvertieren kann. Gibt es einen kürzeren Weg dazu? zB:Müssen Sie in data.frame umwandeln, um rownames vor dem Umwandeln in tibble zu konvertieren

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

Wo ich würde viel lieber so etwas wie zu tun:

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

Aber ich kann nicht, weil ich verlieren die rownames am as_tibble Schritt.

+4

Es ist besser, Sie stellen ein kleines reproduzierbares Beispiel zur Verfügung. Was ist 'normalized_counts'? Ist es eine Matrix? Wenn das der Fall ist, strippen 'tibble' oder' data_frame' die Zeilennamen und haben eine Standardzeilennummer als Zeilennamen, wobei 'as.data.frame' die Zeilennamen als solche enthält. – akrun

Antwort

0

as_tibble hat ein rowames-arugument, das Sie verwenden können.

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