2013-04-05 3 views
0

Я совершенно новой для plyr пакет (и R в целом) У меня следующий кодИспользование ddply вместо для

# 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 (или что-то подобное, просто удалить те уродливые для циклов

Спасибо большое

Фиду

ответ

2

Вы можете попробовать что-то вроде этого:

cor(as.data.frame(split(df$value, df$somefactor))) 
Смежные вопросы