Como passo variáveis para uma função personalizada no ddply?
Considere os seguintes dados:
d = data.frame(
experiment = as.factor(c("foo", "foo", "foo", "bar", "bar")),
si = runif(5),
ti = runif(5)
)
Eu gostaria de realizar um teste de correlação parasi
eti
, para cadaexperiment
nível de fator. Então pensei em correr:
ddply(d, .(experiment), cor.test)
Mas como passo os valores desi
eti
aocor.test
ligar? Eu tentei isso:
> 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
Há algo óbvio que estou perdendo? oplyr
a documentação não inclui nenhum exemplo para mim. A maioria dos comandos que vejo envolvem apenassummarize
como a chamada de função, mas fazendo as coisas habituais que eu estava acostumado a fazersummarize
não funciona, como pode ser visto acima.