Aynı işlevi birden çok sütuna ddply işlevini kullanarak yazmak istiyorum, ancak bunları bir satırda yazmaya çalışıyorum, bunu görmek için daha iyi bir yol var mı?plyr paketi aynı işlevi birden çok sütun üzerinde yazıyor
İşte verilerin basit bir versiyonu:
data<-data.frame(TYPE=as.integer(runif(20,1,3)),A_MEAN_WEIGHT=runif(20,1,100),B_MEAN_WEIGHT=runif(20,1,10))
ve ben bunu yaparak kolonlar A_MEAN_WEIGHT ve B_MEAN_WEIGHT toplamını öğrenmek istiyorum: Ben
ddply(data,.(TYPE),summarise,MEAN_A=sum(A_MEAN_WEIGHT),MEAN_B=sum(B_MEAN_WEIGHT))
ama benim mevcut verilerdeki 8'den fazla "* _MEAN_WEIGHT" ve ben
gibi onları 8 defa yazma yoruldumddply(data,.(TYPE),summarise,MEAN_A=sum(A_MEAN_WEIGHT),MEAN_B=sum(B_MEAN_WEIGHT),MEAN_C=sum(C_MEAN_WEIGHT),MEAN_D=sum(D_MEAN_WEIGHT),MEAN_E=sum(E_MEAN_WEIGHT),MEAN_F=sum(F_MEAN_WEIGHT),MEAN_G=sum(G_MEAN_WEIGHT),MEAN_H=sum(H_MEAN_WEIGHT))
mi Bunu yazmanın daha iyi bir yolu var mı? Yardımın için teşekkürler!!
İşteddply(data, .(TYPE), colSums)
bir (daha yavaş) toplayarak yerine herhangi bir işlev koymak için tweaked olabilir yukarıdaki eşdeğer, var:
Teşekkürler @mnel! sadece bir soru daha, bu şekilde yazmam mümkün görünmüyor ddply (data,. (TYPE), colwise (toplam, (A_MEAN_WEIGHT)), colwise (sqrt,. (B_MEAN_WEIGHT))) Birden çok sütun üzerinde iki farklı işlev istiyorsanız, iki kez yazmalı mıyım? – linp