我对plyr包很新(和R一般) 我有以下代码
# I have some dataframe df
# columns:
# -somefactor: factor
# -value: numeric
f<-levels(df$somefactor)
k<-length(f)
m<-mat.or.vec(k,k)
for(i in 1:k) {
for (j in 1:k)
m[i,j]=cor(df[somefactor==f[i],]$value,df[somefactor==f[j],]$value)
}
如何使用ddply函数简化此代码(或类似的东西,只是为了删除那些丑陋的循环
非常感谢!
菲达
答案 0 :(得分:2)
你可以尝试这样的事情:
cor(as.data.frame(split(df$value, df$somefactor)))