user2248745
user2248745

Reputation: 1

Using ddply instead of for

I'm quite new to plyr package (and R in general) I have following code

# 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)
}

How could I simplify this code using ddply function (or something similar, just to remove those ugly for cycles

Thank a lot!

Fida

Upvotes: 0

Views: 98

Answers (1)

droopy
droopy

Reputation: 2818

You can try something like that :

cor(as.data.frame(split(df$value, df$somefactor)))

Upvotes: 2

Related Questions