3
有没有办法更有效地编写以下语句?加速是一个数据帧。将R代码转换为R风格
accel[[2]]<- accel[[2]]-weighted.mean(accel[[2]])
accel[[3]]<- accel[[3]]-weighted.mean(accel[[3]])
accel[[4]]<- accel[[4]]-weighted.mean(accel[[4]])
有没有办法更有效地编写以下语句?加速是一个数据帧。将R代码转换为R风格
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代码发布之前!
这给了错误的结果。矩阵中的减法按列号逐行排列。 – Marek 2010-06-23 07:02:54