2017-10-12 15 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’ 

値は、IDによってスケーリングていないと信じて私をリードされ、scaledByIDnotScaledbyIDで同一です。助言がありますか?

編集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バージョン3.4.2(2017-09-28)" –

答えて

0

問題はRStudioのバージョン1.2.91とエラーと表示されます。私は安定したビルド(バージョン1.1.383)にダウングレードし、mean(scaledByID$scaledScore == notScaledByID$scale)の新しい出力は0です。

Rのバージョンは、両方(3.4.2)で同じです。

関連する問題