r - 这会单独缩放每一列吗?R
问题描述
如果我想标准化第 2 列和第 3 列(每列分别标准化),这行得通吗?
df[c(2:3)] <- scale(df[c(2:3)])
解决方案
根据?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
它对scale
每一列分别执行
推荐阅读
- python - 为什么python会消耗这么多内存却从不释放
- python-3.x - 保存一个值,删除它,然后使用列表的其余部分再次运行
- javascript - Apollo + React 在执行突变时给了我 400 错误。可能的 httpLink 错误
- tcp - Cloudflare - 正常 TCP 连接“错误请求”
- powershell - 使用 PowerShell 脚本,有没有办法从排除具有重复 BaseName 的项目的文件夹中获取项目列表?
- python - 如何在python中制作每天只运行一次的脚本
- mongodb - 添加 docker 文件时,Asp.net core webapi 连接到 mongo docker 映像时出错
- python - 我该如何制作它,以便每个循环每次出现只打印一次?
- c++ - 线程如何将参数复制到自己的内存空间?
- ruby-on-rails - 我们怎么能替换?来自 rails sql 查询