使用dplyr按R在组中进行缩放:分组和非分组似乎生成相同的结果

问题描述 投票:1回答:1

继上一个问题(link)后,在使用管道和dplyr时,分组数据似乎不会改变缩放比例。这是一些示例代码,稍微改变了链接的问题。

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)"
r dplyr normalization scaling
1个回答
0
投票

问题似乎是RStudio版本1.2.91的错误。我降级到稳定版本(版本1.1.383),mean(scaledByID$scaledScore == notScaledByID$scale)的新输出是0

两个版本的R(3.4.2)相同。

© www.soinside.com 2019 - 2024. All rights reserved.