Есть ли способ написать следующее утверждение более эффективно? Accel - это датафрейм.
accel[[2]]<- accel[[2]]-weighted.mean(accel[[2]]) accel[[3]]<- accel[[3]]-weighted.mean(accel[[3]]) accel[[4]]<- accel[[4]]-weighted.mean(accel[[4]])
Альтернатива
accel[2:4] <- lapply(accel[2:4], function(x) x-weighted.mean(x))
Это один из способов сделать это.
accel[,2:4] = t(t(accel[,2:4]) - apply(accel[,2:4], 2, weighted.mean))
Исправлено следующее пятно Марека - спасибо.
Боевой дух: Всегда проверяйте свой код R перед публикацией!