0

我对 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 函数(或类似的东西,只是为了去除那些丑陋的循环

非常感谢!

菲达

4

1 回答 1

2

你可以尝试这样的事情:

cor(as.data.frame(split(df$value, df$somefactor)))
于 2013-04-05T11:24:38.213 回答