J'ai un document Excel avec différentes feuilles (correspondant à différents échantillons). Sur chaque feuille / échantillon. J'ai des valeurs pour différentes catégories.
La sortie souhaitée serait une table La sortie souhaitée serait la suivante: p> EASY REPRODUCIBLE EN R CODE> FORT> de deux échantillons / DataFrames (Feuilles Excel) Où je voudrais avoir des variables en tant que lignes et échantillons en tant que colonnes: p>
3 Réponses :
sample1$name <- rep("S1",nrow(sample1))
sample2$name <- rep("S2",nrow(sample2))
outputs <- rbind(sample1,sample2)
outputs_reshape <-
dcast(Variable+Level1+Level2+Level3~name,data=outputs,fill=0)
outputs_reshape
Je reçois ceci: erreur dans data.table :: dcast.data.table (as.data.table (sorties), données = sorties,: "Données" doit être une donnée.
Utilisation de à l'aide de data.Table.Table code>: tiard code>: p>
Pour mes données n = 17, on dirait que cela ne fonctionne pas pour les suffixes. J'ai utilisé A3 <- Full_Join (S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14, S15, S16, S17, BY = C ("variable ", Pâte0 (" niveau ", 1: 3)), suffixe = C (" S2 "," S2 "," S4 "," S5 "," S7 "," S7 "," S7 "," S7 "," S7 ", "S9", "S10", "S11", "S13", "S14", "S15", "S16", "S17")) CODE> ET obtenu: Erreur: ` suffixe` doit être un vecteur de caractère de longueur 2, pas un vecteur de caractère de longueur 17 code>
Et avec le tableau de données, j'obtiens l'erreur suivante: La condition a la longueur> 1 et seul le premier élément sera utilisé à merge.data.table (S1, S2, S3, S4, S5, S7, S7, S7, S7, S7, S7, S7, S7, S7, S7, S7, S7, S7, S7, S7, S7 , S9, S10, S11,: argument 'Trier' devrait être logique true / faux code>
Utilisation d'une approche data.Table code>, vous pouvez procéder comme suit: library(data.table)
sample1$sample <- "sample1"
sample2$sample <- "sample2"
dcast(rbind(setDT(sample1), sample2), ... ~ sample, value.var = "value", fill = 0)
# Variable Level1 Level2 Level3 sample1 sample2
# 1: A China East Asia 0.38 0.23
# 2: B India South Asia 0.22 0.20
# 3: C UK West Europe 0.18 0.00
# 4: D Italy South Europe 0.12 0.12
# 5: E Egypt North Africa 0.10 0.11
# 6: F Mexico Centre America 0.00 0.15
Pour mon n = 17, j'ai utilisé votre code et j'ai travaillé parfait, merci! AAA <- Dcast (RBind (SEDTDT (S1), S2, S3, S4, S5, S6, S7, S8, S9, S12, S11, S12, S13, S14, S15, S16, S17) ,. . ~ échantillon, valeur.var = "valeur", remplissage = 0) code>