Je commence tout juste à en apprendre davantage sur KnitR et l'utilisation de Markdown dans la génération de documents et de rapports R. Cela semble parfait pour une grande partie des rapports quotidiens que j'ai à faire avec mon travail. Cependant, une chose que je ne vois pas est un moyen facile d'imprimer des cadres de données et des tableaux en utilisant le formatage Markdown (un peu comme xtable
, mais avec Markdown au lieu de LaTeX ou HTML). Je sais que je peux simplement intégrer la sortie HTML de xtable, mais je me demandais s'il y avait des solutions basées sur Markdown?
r
markdown
knitr
r-markdown
TARehman
la source
la source
print(xtable(data), type = "html")
.knitr
, donc j'ai envoyé une pull request àpander
pour ajouter le style de table. Dans les futures versions depander
, vous devriez pouvoir le fairepandoc.table(iris, style="rmarkdown")
pander
devrait être sur CRAN. pandoc est un programme écrit en Haskell qui convertit vers et à partir d'une grande variété de formats différents, il n'est en aucun cas spécifique à R.pander
, ce qui n'était pas sur CRAN la dernière fois que j'avais entendu - nonpandoc
. Ma faute. :)Réponses:
Maintenant
knitr
(depuis la version 1.3) le package inclut lakable
fonction de création de tables:MISE À JOUR : si vous obtenez une réduction brute dans un document, essayez l'
results = "asis"
option de configuration du bloc.la source
format
argument, car knitr est conscient du format de sortie et le définira automatiquementresults = asis
.results = 'asis'
Deux paquets qui feront cela sont pander
Ou ascii
pander
est une approche légèrement différente de la construction de rapports (mais peut être utile pour cette fonctionnalité).ascii
vous permettraprint
avectype = 'pandoc
(ou diverses autres saveurs de démarque)Notez que dans ces deux cas, il est orienté vers l'utilisation
pandoc
de la conversion du démarque vers le type de document souhaité, mais l'utilisationstyle='rmarkdown'
créera des tables compatibles avec cemarkdown
package et une conversion intégrée dansrstudio
.la source
pander
: il peut produire lesrmarkdown
tables stylisées également à côté d'autres, par exemple:pander(head(iris[,1:3]), style = 'rmarkdown')
Je voulais juste mettre à jour cela avec ce que j'avais décidé de faire. J'utilise le
hwriter
package en ce moment pour imprimer des tableaux et j'utilise les fonctionnalitésrow.*
etcol.*
pour mettre des classes CSS sur différents éléments. Ensuite, j'ai écrit du CSS personnalisé pour faire mon affichage comme je le voulais. Alors, voici un exemple au cas où quelqu'un d'autre aurait affaire à quelque chose de similaire.Tout d'abord, créez un fichier qui fera le
knitting
et changer le Markdown en HTML:Ensuite, créez le fichier Markdown réel:
Enfin, créez simplement un fichier CSS personnalisé.
L'exécution
./file_knit.r
me donne file.html, qui ressemble à ceci:Donc, j'espère que cela pourrait être utile à d'autres qui veulent un peu plus de formatage dans la sortie Markdown!
la source
Il y a des fonctions dans le
pander
package:la source
pander
:) Veuillez noter que vous pouvez également utiliser la méthode S3 générique pour enregistrer quelques caractères à taper, comme:pander(head(iris)[, 1:3])
Il n'est pas très difficile de créer votre propre fonction personnalisée. Voici une preuve de concept très simple pour générer une table rmarkdown d'un
data.frame
:Dans le document .Rmd, vous utiliseriez alors la fonction avec
results = 'asis'
:Le code ci-dessus vous donnerait la figure suivante (dans l'exemple, il s'agit de la sortie pdf, mais comme le tableau est en markdwon, vous pouvez également le tricoter en html ou en word).
De là - et en lisant le code d'autres personnes - vous pouvez comprendre comment manipuler le texte pour générer le tableau que vous voulez et créer des fonctions plus personnalisées.
la source
utilisez une combinaison de knitr :: kable et xtable dans votre document de démarquage.
pour un simple data.frame -
format="pandoc"
permet plus d'options comme la légende.Maintenant, la combinaison pour le résumé du modèle .
pour encore plus d'options, regardez
stargazer
package au lieu dextable
.exemple pour usage personnel
la source
Pour écrire / créer des tables Markdown dans R, vous pouvez également utiliser MarkdownReports '
MarkDown_Table_writer_DF_RowColNames()
ou desMarkDown_Table_writer_NamedVector()
fonctions. Vous passez simplement un bloc de données / une matrice avec des noms de dimension, ou un vecteur avec des noms, et il analyse et écrit la table au format Markdown.la source
Ma fonction pour Gitlab:
la source