2
私は、各グループ内の平均を差し引いてdata.tableの変数を正規化しようとしています。私は次のようにそれを行っている:変数data.tableを正規化する
dx <- data.table(x=c(1,3,5,1,8,11),group=factor(c(1,1,1,2,2,2)))
dy <- dx[,.(xmean=mean(x)),by=.(group)]
setkey(dx,group)
setkey(dy,group)
dx[dy,x_norm:=x-xmean]
これを行うための、より簡潔な方法がある場合、私は思ったんだけど?あなたがこれを行うにはscale
機能を使用することができます
、あなたの方法はかなり効率的である必要があり、それは自分自身で 'mean'を使うとき、ここで説明したような特別な最適化があります:http://stackoverflow.com/q/22137591' dx [、xm:= mean(x)、by = group] [、\ ':= \'(x_norm = x-xm、xm = NULL)] ' – Frank