有誰知道一個通用的R函數來映射範圍之間的數據嗎?我找不到任何東西,但這似乎是一個非常重要的基本功能。例如正常化數據範圍之間的數據/映射
map = function(x, xmin=NULL, xmax=NULL, tmin=0, tmax=1, na.rm=FALSE){
if(is.null(xmin)) xmin = min(x)
if(is.null(xmax)) xmax = max(x)
x.range = xmax - xmin
t.range = tmax - tmin
((x - xmin)/x.range * t.range + tmin)
}
..將默認情況下從輸入數據範圍標準化爲[0,1],但也可以使用自定義輸入範圍或映射到特定的輸出:
> v = -5:5
> map(v)
[1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
> map(v, xmin=-10, xmax=10)
[1] 0.25 0.30 0.35 0.40 0.45 0.50 0.55 0.60 0.65 0.70 0.75
> map(v, tmax = 500)
[1] 0 50 100 150 200 250 300 350 400 450 500
我是否重新發明輪子?
當然你不想來命名函數'map'? –