Je voudrais utiliser la fonction de propagation de tidyr
pour convertir une trame de données avec plusieurs identifiants dans les lignes et plusieurs colonnes en df avec une ligne où nous avons des colonnes indicatrices pour toutes les combinaisons des ID et des catégories. Si dplyr
et tidyr
n'est pas le plus approprié pour cela, ouvert à d'autres fonctions de propagation.Transposer des lignes en colonnes avec plusieurs catégories dplyr
Dans le script ci-dessous, je ne peux spécifier qu'une colonne comme paire de valeurs. Je voudrais avoir cat1 et cat2 comme colonnes de valeur. Aussi, je voudrais les noms de champ à "sentid1_cat1, sentid1_cat2", etc.
test.df <- data.frame(sentid = 1:3,
cat1 = c(1,0,0),
cat2 = c(0,1,0))
test.df %>%
spread(key = sentid, value = cat1, sep = '_')
EDIT
sortie souhaitée:
output.df <- data.frame(sentid1_cat1 = 1,
sentid1_cat2 = 0,
sentid2_cat1 = 0,
sentid2_cat2 = 1,
sentid3_cat1 = 0,
sentid3_cat2 = 0)
Je suis un peu incertain ce que vous demandez. Cela vous dérange-t-il d'inclure une sortie df de ce à quoi ressemblerait le résultat souhaité? –
Peut-être que [cet article] (https://stackoverflow.com/questions/30592094/r-spreading-multiple-columns-with-tidyr) sera utile. Ce serait utile si vous montriez votre sortie désirée. – lmo
Est-ce que ma réponse résout votre problème? – useR