这会单独缩放每一列吗?右

Tib*_*020 3 r standardized

如果我想标准化第 2 列和第 3 列(每列单独标准化),这可行吗?

df[c(2:3)] <- scale(df[c(2:3)])
Run Code Online (Sandbox Code Playgroud)

akr*_*run 5

根据?scale

scale 的值决定了如何执行列缩放(居中后)。如果scale是一个长度等于x的列数的类似数字的向量,则x的每一列都除以scale中的相应值。如果scale为TRUE,则通过将x的(居中)列除以它们的标准差(如果center为TRUE)来完成缩放,否则除以均方根。如果scale为FALSE,则不进行缩放。


作为测试,我们可以对每一列单独执行此操作,也可以作为一个整体执行此操作

data(mtcars)
out1 <- sapply(mtcars, scale)
out2 <- scale(mtcars)
all.equal(out1, out2, check.attributes = FALSE)
#[1] TRUE
Run Code Online (Sandbox Code Playgroud)

它对scale每一列分别进行