2017-08-25 8 views
1

J'ai un Tibble propre, comme indiqué ci-dessous:R: colonnes de mouvement Tibble à la ligne et colonnes nom

df <- structure(list(created_week = c(31, 32, 33, 34), Rt_count = c(7, 
6, 5, 0), Cus_count = c(2, 1, 2, 1)), class = c("tbl_df", "tbl", 
"data.frame"), .Names = c("created_week", "Rt_count", "Cus_count" 
), row.names = c(NA, -4L)) 

Je cherche à faire même que t() de la base, avec un Tibble comme résultat et la ligne de df $ created_week avec leur nom, les colonnes sont Rt_count et Cus_count et doivent être nommées. Je ne trouve pas un moyen simple et facile.

Nous vous remercions de votre aide.

+0

Je ne sais pas si je comprends. Si Rt_count & Cus_count restent des colonnes, est-ce que cela transpose la trame de données? Ou voulez-vous simplement convertir la première colonne en noms de lignes? Pour ce dernier, consultez 'tibble :: column_to_rownames' –

+0

@ Z.Lin column_to_rownames (tt, var =" toto ") Erreur: Colonne' num2' non trouvé – gabx

+0

Vous devez spécifier quelle colonne convertir en nom usuel. Essayez 'df%>% column_to_rownames (" created_week ")%>% as.data.frame()'? –

Répondre

1

Republier mon commentaire comme réponse ...

Afin de créer rownames de df created_week de $ tout en laissant Rt_count & Cus_count sous forme de colonnes, vous pouvez utiliser la fonction column_to_rownames du package tibble.

Vous obtiendrez un avertissement que la définition des noms de ligne sur un Tibble est dépréciée, mais c'est très bien puisque nous allons reconvertir en data.frame:

library(dplyr); library(tibble) 

df %>% 
    column_to_rownames("created_week") %>% 
    as.data.frame() 

    Rt_count Cus_count 
31  7   2 
32  6   1 
33  5   2 
34  0   1 

Modifier pour alternative qui n » t dépendent de la fonction de tibble:

df <- as.data.frame(df) 
rownames(df) <- df$created_week 
df$created_week <- NULL 
+1

Je veux juste ajouter ceci sera déprécié. Voir https://github.com/tidyverse/tibble/issues/123 pour plus d'informations – gabx

+0

Darn, je viens d'apprendre la fonction il y a un mois. D'accord, inclura une alternative en utilisant seulement les paquets de base ... –