Facile d'exportation et de la mise en forme du tableau de R dataframe de Parole?
Est-il un moyen facile d'automatiser la conversion d'un R dataframe un joli tableau Word en format APA pour la publication des manuscrits? Je suis actuellement en train de faire ceci en sauvant la table dans un fichier csv, ouverture dans excel, copier le tableau excel Word, et la mise en forme, mais je suis en espérant qu'il y aurait une solution pour automatiser la mise en forme de R, de sorte que lorsque je le convertir en Word, il serait déjà dans le format APA, parce que Word suce dans l'automatisation.
Fondamentalement, je veux continuer à écrire le manuscrit lui-même dans Word, tout en faisant mes analyses dans R. Alors de rassembler tous les résultats de la R pour une table (avec manuellement modifiables mise en forme) par un script et de le convertir en n'importe quel format que je puisse ensuite il suffit de copier-coller pour les mots (de sorte que la mise en forme contient en fait). Quand j'ai besoin de modifier la table, je ferais les changements dans la R et puis il suffit d'exécuter le script à nouveau sans la nécessité de faire des modifications dans Word.
Je ne veux pas apprendre LaTeX, parce que tout le monde dans mon domaine utilise Word avec des fonctionnalités telles que le suivi des modifications, et j'utilise Zotero add-in pour les citations, il est donc plus simple pour conserver l'écriture distincte de l'analyse. Aussi, je suis un psychologue, n'est pas un codeur, apprendre beaucoup de nouvelles technologies juste pour cela ne vaut probablement pas la peine pour moi. Généralement avec de nouvelles technologies, de nouveaux problèmes techniques, et je suis objectif est de faire de mon flux de travail plus rapide, mais pas au détriment de l'imprévisibilité (qui peut le rendre plus lent exactement à l'instant où l'on ne peut pas se le permettre).
J'ai trouvé un R+knitr+rmarkdown+flatter+pandoc solution "avec aussi peu de frais généraux que possible", mais il semble être assez lourd encore, parce que je ne connais aucun de ces technologies en dehors de R. Et je ne suis pas impatient de commencer l'apprentissage de tout ce qui, comme il semble être destiné pour faire de la rédaction et de tous dans la R jusqu'à la fin, alors que je veux séparer de mon écriture et mon code je n'ai jamais besoin de code dans mon écriture, seuls les tableaux de résultats. En outre, en s'appuyant sur les exemples, il semble chercher directement les valeurs de R code (par exemple, à partir de summary()
pour créer un tableau descriptif), alors que j'ai besoin d'être en mesure de bricoler avec ma table manuellement avant de le convertir, par exemple, l'écriture du titre et des notes (comme une note spécifique à une cellule et l'expliquer dans le fond). J'ai aussi trouvé R2wd, mais il semble être une ancienne tentative pour le même "ensemble des flux de travail dans la R" problème que la solution ci-dessus. L'épée ne semble pas être fonctionne plus.
Des suggestions?
library(knitr)
kable(mtcars, format = "html")
puis la coller dans word.Recommander une bibliothèque de questions sont hors-sujet, de sorte que le vote pour la fermer. Il y a beaucoup de choix. Vous pouvez également regarder les cran.r-project.org/web/packages/rtf/index.html. Personnellement, dans cette situation, j'ai utiliser
brew
avec xtable
pour générer une version HTML et utiliser les Mot style dérivé CSS avec le copier-coller.OriginalL'auteur RandomMonitor | 2015-08-14
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même besoin, et j'ai fini par utiliser le package htmlTable, ce qui est tout à fait "coût-efficace". Cela crée un tableau HTML (dans RStudio il est créé dans le "Spectateur" de windows, en bas à droite, que je viens de marquer à l'aide de la souris et le copier-coller de Word. (Démarrer le marquage le formulaire au bas de la table et faites glisser la souris vers le haut, de cette façon, vous êtes sûr d'inclure le début du code HTML.) Word traite ces tableaux tout à fait bien. La syntaxe est assez simple impliquant uniquement la fonction
htmlTable()
, mais est encore capable de le faire un peu plus de tableaux complexes, tels que des lignes groupées primaire et du secondaire des en-têtes de colonne (c'est à dire en-têtes de colonne étendant sur plus d'une colonne). Découvrez les exemples de la vignette.Une note de prudence: htmlTable ne fonctionnera pas prendra en compte les variables, c'est à dire, ils vont prendre la forme de nombres entiers (selon les taux de facteur). Afin de lire les données à l'aide de
stringsAsFactors = FALSE
ou de les convertir à l'aide deas.character()
.Y compris les zéros de fin peut être fait à l'aide de la
txtRound
fonction. Exemple:Il n'est pas complètement simple pour attribuer le formatage soch que le gras ou l'italique, mais il peut être fait en enroulant le contenu de la table dans le code HTML. Si par exemple vous voulez faire une colonne entière en gras, cela peut être fait comme ceci (notez l'utilisation de guillemets simples et doubles à l'intérieur de
paste0
):Bien sûr, ce serait plus facile de au Mot. Cependant, il est plus intéressant d'ajouter une mise en forme de nombres en fonction de certains critères. Par exemple, si nous voulons insister sur toutes les valeurs de
x
qui sont moins de 0,2 en appliquant gras de la police, nous pouvons modifier le code ci-dessus comme suit:Si vous voulez, même amateur accent, vous pouvez par exemple remplacer le gras par du rouge couleur d'arrière-plan en utilisant
span style='background-color: red'
dans le code ci-dessus. Tous ces changements à la Parole, au moins sur mon ordinateur (Windows 7).Les zéros de fin est facile, vous avez juste envelopper le tableau dans la fonction
txtRound
(partie de htmlTables). Mini exemple:mini_table <- data.frame(Name="A", x=4, y=9, stringsAsFactors = FALSE); htmlTable(txtRound(mini_table, 2))
. Quant à supplémentaires de mise en forme (par exemple, gras), ce qui est plus difficile, mais possible. Je vais mettre à jour ma réponse.Je ne pense pas que la solution décrite ici pour le gras de certains textes est plus valable. Au lieu de gras le texte dans la colonne
x
, maintenant tout simplement imprime le contenu de la colonne entre les balises de mise en forme<span style='font-weight:bold'>
et</span>
.OriginalL'auteur Dag Hjermann
(Juste pour vous laisser savoir que je suis l'auteur de l'paquets que je vous recommande...)
Vous pouvez utiliser le package
ReporteRs
à la sortie de votre table de Mot. Voir ici un tutoriel (pas le mien):http://www.sthda.com/english/wiki/create-and-format-word-documents-using-r-software-and-reporters-package
Objets FlexTable vous permettent de format et d'organiser des tables facilement avec une certaine norme de R code. Par exemple, pour définir la 2ème colonne en gras, le code ressemble à:
Il y a des (vieux) exemples ici:
http://davidgohel.github.io/ReporteRs/flextable_examples.html
Ces objets peuvent être ajoutés à un rapport en format Word à l'aide de la fonction addFlexTable. Le mot rapport peut être généré avec la fonction
writeDoc
.Si vous travaillez dans RStudio, vous pouvez imprimer l'objet et il sera rendu dans la visionneuse html de sorte que vous pouvez l'exporter dans Word lorsque vous êtes satisfait de son contenu.
Vous pouvez même ajouter un Mot réel notes de bas de page (voir le lien ci-dessous)
http://davidgohel.github.io/ReporteRs/pot_objects.html#pot_footnotes
Si vous avez besoin de plus de tableaux de sortie, je vous recommande aussi la
rtable
package qui gèrextable
objets (et d'autres choses que j'ai à développer pour satisfaire mes collègues ou clients) - une démonstration rapide peut être vu ici:http://davidgohel.github.io/tabular/
Espère que ça aide...
Comme écrit ci-dessus
FlexTable
SONT affichés dans le contrôle htmlviewer!OriginalL'auteur David Gohel
La réponse courte est "pas vraiment." Je n'ai jamais eu beaucoup de chance d'obtenir ainsi des tableaux mis en forme dans MS Word. La meilleure approche, je peux vous offrir nécessite l'utilisation de Rmarkdown pour rendre vos tables dans un fichier HTML. Vous pouvez copier et coller les résultats dans le fichier HTML dans un fichier MS Word, mais je ne fais pas de garanties sur la façon dont le formatage va suivre.
Pour le format de vos tables, vous pouvez essayer quelque chose comme le
xtable
paquet, ou lepixiedust
paquet. Mais encore une fois, ne garantit que la mise en forme de transfert.OriginalL'auteur Benjamin