Je souhaite générer une table croisée avec la colonne totale pour la ligne et la colonne. J'ai essayé de générer le fichier crosstable en utilisant le module gmodels. L'apparence de la sortie est meilleure que la fonction de table normale. L'apparence de la table est importante car finalement elle doit être affichée en utilisant Shiny. Mais le problème est que j'obtiens le total de la colonne et le total des lignes à la fin des lignes et des colonnes. Comment puis-je obtenir la colonne totale comme la première colonne et la rangée dans le tableau.Brillant - Génère un tableau croisé avec le total de colonne et le total de ligne comme première ligne/colonne
Voici l'exemple de mes données.
Location <- sample(c("location A","location B","location C","location D","location E"),20,replace = T)
Brand <- sample(c("Brand A","Brand B","Brand C"),20,replace = T)
Year <- rep(c("Year 2014","Year 2015"),10)
Q1 <- sample(1:5,20,replace = T)
Q2 <- sample(1:5,20,replace = T)
mydata <- as.data.table(cbind(Location,Brand,Year,Q1,Q2))
Les données sont énormes et, par conséquent, elles sont données.table.
codeque j'utilise pour générer la table croix est -
library("gmodels")
mydata[,CrossTable(Location,Brand,prop.c = T,prop.r = F,prop.t = F,prop.chisq = F,chisq = F,format = "SPSS")]
Cela donne à la sortie, mais les colonnes totales est à la fin de la ligne et à la fin de la colonne. La colonne% est également manquante pour la colonne totale. Comment puis-je avoir les colonnes totales comme la première ligne et la colonne et avoir le% pour cela?
Suggérer une sortie.
Vous ne voulez probablement pas 'cbind' ici. Regardez 'str (mydata)' et notez que tous les cols ont été forcés dans des chaînes/caractères. Peut-être que vous voulez 'reshape2 :: dcast (mydata, Location ~ Brand, marges = TRUE)' ici? – Frank
Puisque 'CrossTable' renvoie null alors votre seule option est de modifier sa source selon vos besoins. –