请考虑以下数据:
d = data.frame(
experiment = as.factor(c("foo", "foo", "foo", "bar", "bar")),
si = runif(5),
ti = runif(5)
)
Run Code Online (Sandbox Code Playgroud)
我想为进行相关测试si,并ti为每个experiment因子水平.所以我以为我会跑:
ddply(d, .(experiment), cor.test)
Run Code Online (Sandbox Code Playgroud)
但我怎么传递的价值观si和ti对cor.test通话?我试过这个:
> 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
Run Code Online (Sandbox Code Playgroud)
有什么明显我想念的吗?该plyr文件不包括给我的例子.我看到的大多数命令只涉及summarize函数调用,但是我常常做的summarize事情不起作用,如上所示.