J'utilise la fonction 'avec ()' de la base R et je me demande s'il peut être combiné avec 'ggplot2'. Si j'utilise l'intrigue de base, je fais: Approche analogique avec GGPLOT échoue: p> Je suppose que c'est parce que "avec ()" Il suffit simplement de «Terrain (A, B) 'to' Too» (DF $ A, DF $ B) 'mais' ggplot () 'ne fonctionne pas si nous ne fournissons pas d'argument de données (au moins pas de cette manière). Est-ce bon ou pouvons-nous en quelque sorte utiliser "avec" et "ggplot2" ensemble? P> Certains commentaires demandent pourquoi je veux faire cela et voici pourquoi. J'écris une fonction assez générale qui comprend avec () et j'ai mis des fonctions varues avec (), comme moyenne (), SD (), SD () AMD ainsi de suite. GGPLOT () est juste une autre fonction que je souhaite réussir à mettre à la creule ma fonction qui inclut de savoir comment mettre ggplot () dans (). Jusqu'à présent, ma fonction pourrait émettre des fichiers de données et d'autres objets, je sais maintenant comment mettre des objets ggplot via ma fonction. Je n'ai pas inclus cela dans ma question pour le garder simple. P> p>
4 Réponses :
Merci je suis au courant des solutions DLYR, mais je veux éviter de l'utiliser car j'ai peur des changements dans les paquets. Par conséquent, j'essaie d'utiliser plus de fonctions de base qui sont censées être plus stables au fil du temps. Pour le moment, je m'habitue à ().
library(ggplot2) ggplot(df, aes(a, b)) + geom_point()
Merci. S'il vous plaît voir mon édition: ma question est maintenant plus explicitement à propos de la fonction ().
Vous pouvez utiliser p> p> p> P> qplot () code> qui est conçu pour être similaire à la base
tracé () code> syntaxe et son
data code> argument n'est pas nécessaire.
Votre code ne fonctionne pas car le premier argument de ou vous pouvez faire ce p> ggplot () code> est
data code>. Vous devez dire spécifiquement que vous souhaitez utiliser l'argument
mappage code>.
geom _ * code> est
mappage code>. p> p>
Je ne comprends pas pourquoi vous essayez d'utiliser
avec () code> ici.
GGPLOT CODE> a déjà un paramètre un paramètre pour que vous puissiez passer dans les données. Lorsque la valeur vient de. Que pensez-vous que vous pouvez faire avec
avec () code> que vous ne pouvez pas faire avec
ggplot () code> seul?
Si vous êtes inquiet de la stabilité des forfaits obligatés, vous devez utiliser une solution comme
renv code> ou
packrat code> pour maintenir un environnement stable plutôt que de vous limiter à utiliser
avec code>
De plus, si vous êtes préoccupé par la stabilité du paquet, l'API principale de GGPLot2 (
GGPLOT (données, AES (x, y)) code>) a été inchangé pendant de nombreuses années maintenant et ne changera certainement jamais. Les idiomes modernes du développement R s'appuient sur le style d'évaluation que GGPLot utilise, totalement suppliant l'utilisation de
avec () code>, que je n'ai pas utilisé dans 6 ou 7 ans.
@MRFLICK J'écris une fonction qui inclut avec () et peut mettre de nombreux objets cependant. Ainsi, pour examiner, je peux mettre un data.frame bien que ma fonction et obtenir les données de sortie souhaitées. Ceci n'est pas possible avec GGPLOT car la sortie n'est pas une source de données mais une parcelle. La bonne chose est que maintenant ma fonction peut générer divers objets, y compris GGPLOT.
@Richard Vous êtes peut-être vrai si nous parlons de la question telle qu'elle se trouve, mais je construis en fait une fonction assez générale qui comprend (). La fonction peut produire divers objets et cela fonctionne très bien jusqu'à présent. Je ne sais pas si les alternatives que vous suggérez de travailler dans mon contexte.
@Brian Non, je ne suis pas inquiet pour les premiers arguments de GGPLot () de changer. Je veux utiliser avec () dans une fonction générale qui fait des choses comme appliquer des fonctions par groupe et ainsi de suite. Ma fonction utilise avec () et génère divers objets. Je ne veux pas inclure quelque chose de Tidyverse comme group_by (), muté () et ainsi de suite dans ma fonction.
@Drumy merci. En plus de la circonstance que l'approche est peut-être en état de réflexion commune si je partagerais toute l'upease. Je mets toutes sortes de fonctions avec () dans mon code, moyenne (), sd (), ... ggplot () est juste une autre qui maintenant je peux passer cependant.