Я хотел бы выполнить функцию для нескольких переменных по группам.
Поддельные данные;
df<-data.frame(rnorm(100,mean=10),
rnorm(100,mean=15),
rnorm(100,mean=20),
rep(letters[1:10],each=10)
)
colnames(df)<-c("var1","var2","var3","group1")
В этом конкретном случае я хотел бы центрировать каждую переменную по группе. Я хочу вернуть кадр данных с исходными и центрированными переменными.
Обычно для этого я использую пакет PLYR;
library(plyr)
ddply(df, "group1", transform, centered_var1= scale(var1, scale=FALSE))
Однако мне не удалось успешно зациклить эту функцию или придумать другой способ с минимальным кодом для этого.
Я открыт для решений, отличных от PLYR... Моим главным критерием является сведение кода к минимуму.