1
だから、この質問をどのようにフレーズするかわかりませんが、かなり基本的です。私はもちろん、これをdplyr
- esqueパイプに含めるためのエレガントな方法を探したいと思うでしょう。グループ内のスケール変数定数
代わりに、0.3と0.5のつまり、私は
> as.numeric(scale(c(0.3, 0.5)))
[1] -0.7071068 0.7071068
持っていると思い、私はスケーリングされたバージョンでd
を交換したいのは、私は、データフレーム
set.seed(1)
dd <- data.frame(id = rep(c(1,2), c(3,5)),
x = rnorm(8),
d = rep(c(0.3, 0.5), c(3,5)))
を持っているとしましょうパイプにscale
を使用した場合の問題は、大きなグループ(id = 2
)がより多くの重みを受け取り、得られた値が
> dd %>%
+ mutate(scale_d = scale(d))
id x d scale_d
1 1 -0.6264538 0.3 -1.2076147
2 1 0.1836433 0.3 -1.2076147
3 1 -0.8356286 0.3 -1.2076147
4 2 1.5952808 0.5 0.7245688
5 2 0.3295078 0.5 0.7245688
6 2 -0.8204684 0.5 0.7245688
7 2 0.4874291 0.5 0.7245688
8 2 0.7383247 0.5 0.7245688
私はこれが非常に単純な問題であるべきだと思っています。だから、単純な解決法があるかもしれません。
? – G5W