Es ist eine Frage viele Klammern der Verwendung so alles ausgewertet wird:
df_foo %>%
summarize_each(funs(((function(bar){sum(bar/10)})(.))))
#
# Source: local data frame [1 x 2]
#
# x y
# (dbl) (dbl)
# 1 1.113599 -0.4766853
wo Sie
- Klammern um die Funktionsdefinition müssen so definiert wird,
- eine Reihe von Klammern mit
.
, um funs
mitzuteilen, welcher Parameter die Daten, die an ihn übergeben werden, anhängt (scheinbar redundant mit Ein-Parameter-Funktionen, aber nicht so mit Multi-Parameter-Funktionen; siehe ?funs
für weitere Beispiele) und
- Klammern um die ganze Sache, die es zu bewerten, tatsächlich
, die irgendwie lächerlich ist, aber das scheint behandeln die knappste funs
kann zu sein. Es macht Sinn, wenn Sie sich ansehen, was Sie schreiben müßten, um eine ähnliche anonyme Funktion in einer eigenen Zeile auszuwerten, z.
(function(bar){sum(bar/10)})(df_foo$x)
obwohl das Paar, das das Ganze wickelnd, extra für funs
sind. Sie können Klammern {}
stattdessen für das äußere Paar verwenden, wenn Sie bevorzugen, was syntaktisch sinnvoller sein könnte.
Ich sehe nicht die Notwendigkeit dafür - warum machst du nicht einfach 'summieren_jeach (Spaß (Summe (./ 10)))'? Das '.' ist bereits als data/column definiert, so dass Sie den zusätzlichen' function (bar) 'part nicht benötigen –