Verwendung von do.call mit der Standard-Evaluierungsversion dplyr

8

Wie kann ich do.call mit einer Variablenliste von Argumenten und Funktionen erhalten, um mit der Standard-Testversion von summarise_ in dplyr zu arbeiten?

%Vor%

Dies ist die lazyeval::interp Ich versuche, Arbeit zu machen

%Vor%

aber es funktioniert nicht,

%Vor%

Erwartetes Ergebnis

%Vor%

Wenn ich einige Druckanweisungen hinzufüge, weiß ich, dass das Problem darin liegt, dass "a" und "b" nicht richtig interpretiert werden, aber ich konnte nicht herausfinden, wie man sie richtig zitiert.

%Vor%     
jenesaisquoi 14.11.2015, 22:54
quelle

1 Antwort

6

Das targs Argument muss eine call Klasse sein. Die Variablen in call ( a und b ) müssen eine name -Klasse sein. All dies geschieht in der zweiten (und dritten) Zeile darunter. ?call , ?as.name und ?is.language machen die Zeile möglicherweise verständlicher.

%Vor%

dplyr s "nse" (Nicht-Standard-Bewertung) vignette war sehr hilfreich hier. Ich habe festgestellt, dass . immer auf die gesamte Tabelle und nicht auf die gruppierte Tabelle verweist. Deshalb haben einige der Empfehlungen in den Kommentaren nicht so funktioniert wie gewünscht.

    
kdauria 27.11.2015, 07:06
quelle

Tags und Links