2017-10-12 90 views
1

繼上一個問題(link)後,似乎在使用管道和dplyr時分組數據不會改變縮放比例。這裏是一些示例代碼,從鏈接的問題略有改變。使用dplyr按R按組縮放:分組和非分組似乎會生成相同的結果

set.seed(123) 
n = 1000 
df <- data.frame(ID = sample(c("A","B","C","D","E"), size=n, replace=TRUE), 
       score = runif(n, 0, 10)) 

scaledByID <- 
     df %>% 
     group_by(ID) %>% 
     mutate(scaledScore = scale(score)) 

notScaledByID <- 
     df %>% 
     mutate(scaledScore = scale(score)) 

mean(scaledByID$scaledScore == notScaledByID$scaledScore) 
#[1] 1 

packageVersion("dplyr") 
#[1] ‘0.7.4’ 

的值是相同的scaledByIDnotScaledbyID,這使我相信它不是由ID縮放。有什麼建議麼?

修改以添加R和RStudio的版本:

RStudio.Version()$version 
#[1] ‘1.2.91’ 

R.version.string 
#[1] "R version 3.4.2 (2017-09-28)" 
+0

您使用的是哪個R版本?我無法複製這個 –

+0

RStudio.Version()$版本 #[1]'1.2.91' R.version.string [1]「R version 3.4.2(2017-09-28)」 –

回答

0

問題似乎是一個誤差RStudio的91年2月1日的版本。我降級到穩定版本(版本1.1.383),並且mean(scaledByID$scaledScore == notScaledByID$scale)的新輸出爲0

兩個版本(3.4.2)都是相同的。