Ich bin verwirrt darüber, wie man Funktionsargumente in dplyr- und ggplot-Codes übergibt. Ich benutze die neueste Version von dplyr und ggplot2 Hier ist mein Code, um einen Barplot zu produzieren (Klarheit vs Durchschnittspreis)
%Vor%Fehler:
%Vor%Für die neueste Version von dplyr ist die unterstrichene Verben_ () sanft veraltet. Es scheint, als ob wir Quorungen verwenden sollten.
meine Fragen:
Was war mit dem obigen Code falsch? (kein Unterstrich dplyr Verben ..)
In ggplot weiß ich, dass wir aes_string () verwenden können, aber in meinem Fall wird nur einer der Parameter in der aes vom Funktionsargument übergeben.
Vielen Dank im Voraus.
Ich denke nicht, dass Sie das so richtig machen können, da ggplot2 die Syntax nicht unterstützt, aber es kommt.
Die beste Vorgehensweise mit dem dplyr-Teil des Codes wäre:
%Vor%Um die fehlende Unterstützung des Tidyevals in ggplot2 zu umgehen, könnten Sie tun (beachten Sie die Anführungszeichen um die Variablen im Funktionsaufruf):
%Vor%BEARBEITEN - Nach dem Kommentar von @ lonel:
%Vor%sinQuesos Antwort ist vielversprechend, aber sie vermisst den Zweck einer Funktion, die an verschiedene Datenrahmen angepasst werden kann. Die Variable "Preis" ist in der Funktion in der folgenden Zeile kodiert:
%Vor%Diese Funktion funktioniert nur, wenn die Eingabevariable "Preis" ist.
Hier ist eine bessere Lösung, die für jeden Datenrahmen verwendet werden kann:
%Vor%Sie können sogar noch weiter gehen als Daniels Lösung, sodass sich der Name der Zusammenfassungsvariablen (Metrik) mit der Eingabe ändert.
%Vor% Der "tagtäglichste" Weg zu diesem Problem scheint mir eine Kombination von quo_name
und aes_string
Funktionen zu sein. Vermeiden Sie die Verwendung von Unterstrich-Verben wie aes_
, da sie veraltet sind.