übergeben Funktionsargumente an dplyr und ggplot

8

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:

  • Kann jemand die aktuelle Best Practice dafür klären?
  • 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.

    
zesla 01.08.2017, 13:52
quelle

4 Antworten

6

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%     
sinQueso 01.08.2017, 14:36
quelle
3

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%     
Daniel Yudkin 27.10.2017 17:45
quelle
3

Sie können sogar noch weiter gehen als Daniels Lösung, sodass sich der Name der Zusammenfassungsvariablen (Metrik) mit der Eingabe ändert.

%Vor%     
logicalfellac 29.11.2017 14:13
quelle
2

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.

%Vor%     
Stormwalker 31.01.2018 09:59
quelle

Tags und Links