【发布时间】:2014-03-31 21:01:43
【问题描述】:
我正在使用 dlply 将函数应用于 data.frame 并为每个因素组合生成一个列表:
首先我生成一些数据
is1 <- data.frame()
for( s in c("Big","Med", "Sma")) {
for(i in 1:3){
c <- rnorm(1,0,10)
n <- rnorm(1,-1,10)
is1 <- rbind(is1,data.frame(Site=i,SizeClass=s,d13C=rnorm(10,c,2),d15N=rnorm(10,n,2)))
}
}
他们应用了 siar 包中的功能
require(plyr)
require(siar)
ell <-dlply(is1,.(Site,SizeClass),function(x) standard.ellipse(x$d13C,x$d15N,steps=1))
我想要一个包含一些字段的 data.frame,所以我尝试将 ldply 与函数一起使用
extract_SEAc <- function(e)
{
c(sapply(e, '[[', 'xSEAc'),sapply(e, '[[', 'ySEAc'))
}
ell <- ldply(ell, .(Site,SizeClass), extract_SEAc )
但它给出了一个错误
error: trying to apply a no-function
有什么想法吗?
【问题讨论】: