Chcę napisać tę samą funkcję do wielu kolumn za pomocą funkcji ddply, ale próbuję pisać dalej w jednej linii, chcę zobaczyć, czy jest lepszy sposób na zrobienie tego?Pakiet plyr wypisujący tę samą funkcję w wielu kolumnach
Oto prosty wersja danych:
data<-data.frame(TYPE=as.integer(runif(20,1,3)),A_MEAN_WEIGHT=runif(20,1,100),B_MEAN_WEIGHT=runif(20,1,10))
i chcę, aby dowiedzieć się sumę kolumn A_MEAN_WEIGHT i B_MEAN_WEIGHT w ten sposób:
ddply(data,.(TYPE),summarise,MEAN_A=sum(A_MEAN_WEIGHT),MEAN_B=sum(B_MEAN_WEIGHT))
ale w moim obecnym danych mam więcej niż 8 "* _MEAN_WEIGHT", i jestem zmęczony pisaniem ich 8 razy jak
ddply(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))
Czy czy jest lepszy sposób na napisanie tego? Dziękuję za pomoc !!
Dzięki @mnel! jeszcze jedno pytanie, nie wydaje mi się, żebym mógł zapisać je w ten sposób ddply (dane,. (TYPE), colwise (suma,. (A_MEAN_WEIGHT)), colwise (sqrt,. (B_MEAN_WEIGHT))), więc jeśli I chcesz mieć dwie różne funkcje w wielu kolumnach, muszę napisać je dwa razy? – linp