0

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

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

newdata我的数据集在哪里,是Rats我的属性之一。如果我只有几个属性要更改,那很好,但我有大约 30 个左右要更改。有没有办法使用 for 循环来执行此操作或使用selectR 具有的函数或可能的其他方式?

4

1 回答 1

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),在数据框中插入变量位置的向量,或变量名称的向量作为字符串。

于 2017-06-08T08:02:03.607 回答