如何在R中同时重新缩放多个属性

时间:2017-06-08 07:51:26

标签: r attributes dataset scale rescale

我有一个包含多个属性的数据集,整数值从1到5,我想重新调整这些属性,使它们的值范围从-1到1.我当前的代码是

    newdata$Rats = rescale(newdata$Rats, to = c(-1,1), from=c(1,5))

newdata是我的数据集,Rats是我的属性之一。如果我只有一些属性可以改变那就没问题了,但我有大约30个左右要改变。有没有办法使用for循环来执行此操作或使用R具有的select函数或可能采用其他方式?

1 个答案:

答案 0 :(得分:0)

使用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),在数据框中插入变量的任意位置的矢量,或者将变量名称的矢量作为字符串插入。