在工作区中,我有 48 个数据框:
zbp1994f, zbp1994m, zbp1994r
zbp1995f, zbp1995m, zbp1995r
......
zbp2009f, zbp2009m, zbp2009r
在每一帧中,都有一个组变量(例如,组)。我只计算一个数据帧的统计量(Moran's I),即 zbp1994f:
library(ape)
moranfn <- function(dta) {
distinv <- -1/as.matrix(dist(cbind(dta$longi, dta$lati)))
diag(distinv) <- 0
Moran_result <- data.frame(Moran.I(dta$myvariable, distinv))
}
library(plyr)
Moran_result_1994f <- ddply(zbp1994f,"group",moranfn)
这给了我 Moran_result_1994f 数据框,其中包含按组的统计信息。
group stat1 stat2 sd p-value
g1 0.049 -0.01 0.012 2.55e-06
g2 0.122 -0.05 0.041 2.45e-08
......
我的目标是为所有数据框完成这项工作,并制作一个面板数据集:
group year stat1 stat2 sd p-value
g1 1994 ..... ..... .. .....
g1 1995 ..... ..... .. .....
g1 1996 ..... ..... .. .....
......
g1 2009 ..... ..... .. .....
g2 1994 ..... ..... .. .....
......
我想知道如何在一年中(1994:2009)和 c("f","m","r") 循环初始过程。