1
所以我不確定如何說出這個問題,但它很基本。我當然想找到一種優雅的方式,將其包含在一個dplyr
轉換管中。組內的刻度變量常量
比方說,我有一個數據幀
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)))
我想通過縮放版本替換d
,即而不是0.3和0.5,我想有
> as.numeric(scale(c(0.3, 0.5)))
[1] -0.7071068 0.7071068
的當我在管道中使用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
我覺得這應該是一個很簡單的問題,所以也許有一個簡單的解決方案呢?
如何'DD $ d =規模(DD $ d)'? – G5W