如何在 R 中同时重新缩放多个属性
How to rescale multiple attributes at the same time in R
我有一个数据集包含多个属性,其整数值从 1 到 5,我想重新缩放这些属性,以便它们的值范围从 -1 到 1。我当前的代码是
newdata$Rats = rescale(newdata$Rats, to = c(-1,1), from=c(1,5))
其中 newdata
是我的数据集,Rats
是我的属性之一。如果我只有几个属性要更改,那很好,但我有大约 30 个左右的属性要更改。有没有办法使用 for 循环来执行此操作或使用 R 具有的 select
函数或其他可能的方法?
使用lapply()
:
newdata[, c(1:30)] <- lapply(newdata[, c(1:30)],
function(x) rescale(x, to = c(-1, 1), from = c(1, 5)))
对于 c(1:30)
,插入数据框中变量位置的向量,或变量名称的向量作为字符串。
我有一个数据集包含多个属性,其整数值从 1 到 5,我想重新缩放这些属性,以便它们的值范围从 -1 到 1。我当前的代码是
newdata$Rats = rescale(newdata$Rats, to = c(-1,1), from=c(1,5))
其中 newdata
是我的数据集,Rats
是我的属性之一。如果我只有几个属性要更改,那很好,但我有大约 30 个左右的属性要更改。有没有办法使用 for 循环来执行此操作或使用 R 具有的 select
函数或其他可能的方法?
使用lapply()
:
newdata[, c(1:30)] <- lapply(newdata[, c(1:30)],
function(x) rescale(x, to = c(-1, 1), from = c(1, 5)))
对于 c(1:30)
,插入数据框中变量位置的向量,或变量名称的向量作为字符串。