Jak przekazać zmienne do funkcji niestandardowej w ddply?
Rozważ następujące dane:
d = data.frame(
experiment = as.factor(c("foo", "foo", "foo", "bar", "bar")),
si = runif(5),
ti = runif(5)
)
Chciałbym wykonać test korelacji dlasi
iti
, dla każdegoexperiment
poziom czynnika. Więc pomyślałem, że ucieknę:
ddply(d, .(experiment), cor.test)
Ale jak mam przekazać wartościsi
iti
docor.test
połączenie? Próbowałem tego:
> ddply(d, .(experiment), cor.test, x = si, y = ti)
Error in .fun(piece, ...) : object 'si' not found
> ddply(d, .(experiment), cor.test, si, ti)
Error in match.arg(alternative) :
'arg' must be NULL or a character vector
Czy brakuje mi czegoś oczywistego? Theplyr
dokumentacja nie zawiera dla mnie żadnego przykładu. Większość poleceń, które widzę, dotyczy tylkosummarize
jako wywołanie funkcji, ale robiąc zwykłe rzeczy, z których byłem przyzwyczajonysummarize
nie działa, jak widać powyżej.