J'essaye d'écrire une fonction universelle pour générer des graphiques de dispersion ggplot2 basés sur l'entrée de l'utilisateur. Voilà ce que j'ai jusqu'à présent:Erreur d'argumentation non-numérique dans la fonction utilisateur ggplot2
G.Point <- function(USER2, USER3, USER4, X, Y){
Point <<- Plot.data + geom_point(
aes_string(x = USER2, y = USER3, colour = USER4) +
xlab(X) +
ylab(Y))
}
G.Point("USER2", "USER3", "USER4", "X", "Y") #These are called something else in actual code.
plot(Point)
Cela revient sans cesse l'erreur « argument non numérique à l'opérateur binaire », mais pour autant que je peux dire que je ne suis pas la création d'un opérateur binaire donc mes entrées non numériques ça devrait aller. Ce code a bien fonctionné avant que je commence à essayer de spécifier l'étiquette x et y.
Je dois manquer quelque chose de stupide car je suis nouveau à écrire mes propres fonctions dans R.
Merci à l'avance.
Merci pour cela, je savais que ce serait quelque chose d'évident. Juste rapidement ce qui ne va pas avec l'utilisation de << - pour affecter à une variable? Idéalement, j'aimerais que le graphique soit stocké dans une variable pour être appelé plus tard. –
@ Matt.TW Il s'agit d'une affectation globale. Dans ce cas, il n'est pas nécessaire – akrun