2014-09-21 105 views
3

我有一个名为Esteem的变量,其比例为1:7。我想重新调整到1:100。我明白R程序可以这样做,但是我遇到了语法问题。在R中缩放变量

有人可以提供一个如何重新调整该变量的例子吗?另外,有没有一种工具可以在R Commander中使用?

非常感谢!

+0

那你试试这么远吗? – Jaap 2014-09-22 17:39:30

+0

感谢您的所有回应。我已经尝试了seq工具。它看起来像提供了与重新调整功能相同的结果,是不是?另外,有没有一种方法可以直接在数据集中进行这种转换(即它会创建一个带有新缩放变量的列)?最后,如果我的数据有小数,我是否还需要为函数添加舍入函数?再次感谢!!! – Ramon 2014-09-23 12:06:29

回答

4

我不知道RCommander。有一个名为RPMG的程序包,具有重新缩放功能,通常用于图形目的。我不确定它完全按照你想要的来做(因为你没有提供包括示例输出的例子)。

但是,这可能是相关的。

set.seed(1) 
x<-sample(1:7, 10, replace=T) 
x 
#[1] 2 3 5 7 2 7 7 5 5 1 

library(RPMG) 
RESCALE(x, 1, 100, 1, 7) 
#[1] 17.5 34.0 67.0 100.0 17.5 100.0 100.0 67.0 67.0 1.0 

RESCALE X后的论点是:new.min,new.max,old.min,old.max一个规模。

这个功能其实很简单:

RESCALE <- function (x, nx1, nx2, minx, maxx) 
{ nx = nx1 + (nx2 - nx1) * (x - minx)/(maxx - minx) 
    return(nx) 
} 
2

你可以做这样的事情用基础R太(使用@jalapics数据)

seq(1, 100, length.out = 7)[x] 
## [1] 17.5 34.0 67.0 100.0 17.5 100.0 100.0 67.0 67.0 1.0