2017-07-20 3 views
0

J'utilise R Sweave et je voulais commencer mon document en montrant un échantillon de ma table. Mon problème est, que ma table a 39 variables et beaucoup de rangées. Pour les lignes ce n'est pas un problème, je ne peux en prendre que quelques unes en utilisant sample_n, mais je dois avoir toutes mes variables visibles. Il ne serait malheureusement pas adapté non plus sur une feuille de paysage. J'utilise xtable pour générer ma table. Je pense que le plus simple serait de mettre autant de variables que possible sur la feuille, puis de commencer par le reste, et ainsi de suite, jusqu'à ce que tout soit affiché.R Sweave: sortie une très grande table avec des sauts de ligne à la fin de la page

Voici quelques minimaliste exemple:

dat <- bind_cols(mtcars, mtcars, mtcars, mtcars) 
a <- as.data.frame(dat) %>% 
    sample_n(5) 
print(xtable(a)) 

J'ai savent déjà la fonction longtable, mais il ne ferait que me aider si j'avais des lignes trop, et non des colonnes trop, est-ce pas? Je suis encore un peu perdu avec avoir en même temps R et LaTeX sur le même fichier ...

+0

Pourquoi créer une table en latex et non une impression R de la table? –

+0

Bon point! Parce que 1) J'utilise le document entier puis xtable, et je voulais avoir la même sortie, mais ce ne serait pas un problème 2) Si je viens d'imprimer la mise en page n'est pas si bon. Il aligne les objets à droite et non à gauche, et il n'est pas assez facile de différencier la ligne de titre et les autres. Mais ce serait une bonne solution s'il était possible d'améliorer la mise en page de l'impression au lieu d'utiliser LaTeX. Je vais vérifier si je trouve quelque chose de joli sur le web. – GaryDe

+0

Peut-être essayer la fonction là: https://stackoverflow.com/a/44868837/6103040 –

Répondre

0

Une réponse en utilisant mon paquet huxtable. Créez la table, puis divisez-la en colonnes:

library(huxtable) 
dat <- sample_n(as.data.frame(bind_cols(mtcars, mtcars, mtcars, mtcars)), 5) 
ht <- as_hux(dat, add_colnames = TRUE) 

# now format to taste: 
bold(ht)[1,] <- TRUE 

ht[,1:5] # first 5 columns. Will print as LaTeX within a Rmarkdown document 
+0

Merci pour l'aide, mais j'utilise R Sweave, pas R Markdown, et la sortie n'est alors pas celle recherchée, car elle ne semble pas rendre la même chose. – GaryDe

+0

Peut-être juste appelez print_latex sur le huxtable. – dash2

+0

J'obtiens ce résultat: [image] (http://i.imgur.com/7NtZc3L.png). Je ne comprends pas ce que j'ai fait faux. – GaryDe