我有一个包含多个属性的数据集,整数值从1到5,我想重新调整这些属性,使它们的值范围从-1到1.我当前的代码是
newdata$Rats = rescale(newdata$Rats, to = c(-1,1), from=c(1,5))
newdata
是我的数据集,Rats
是我的属性之一。如果我只有一些属性可以改变那就没问题了,但我有大约30个左右要改变。有没有办法使用for循环来执行此操作或使用R具有的select
函数或可能采用其他方式?
答案 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)
,在数据框中插入变量的任意位置的矢量,或者将变量名称的矢量作为字符串插入。