1.diff()函數
diff() 是R語言中的一個簡單函數。該函數有三個基本參數:x, lag = 1 和 differences = 1。
Returns suitably lagged and iterated differences.
返回適當的滯后和迭代差值。
其中 lag = 1 序列中要計算差值的兩個數值之間的距離,
而參數 differences 表示計算差值的次數。
> (x <- cumsum(cumsum(1:10))) #生成一個累加的序列
[1] 1 4 10 20 35 56 84 120 165 220
> diff(x)
[1] 3 6 10 15 21 28 36 45 55
# 相當于4-1、10-4、20-10、…… 200-165
> diff(x, lag = 2)
[1] 9 16 25 36 49 64 81 100
# 間隔一位相減,相當于10-1、20-4、35-10…… 220-120
> diff(x, lag = 2, differences = 2)
[1] 16 20 24 28 32 36
# 進行了兩次間隔的減法運算:25-9、36-16、…… 100-64
2.range()函數
Range返回一個包含所有給定參數的最小值和最大值的向量。
> range01 <- function(x){
+ rng <- range(x, na.rm = TRUE)
+ (x - rng[1] / rng[2] - rng[1])
+ }
> range(c(1, 8, 12, 20))
[1] 1 20
> range(c(1, 8, 12, 20))[1]
[1] 1
> range(c(1, 8, 12, 20))[2]
[1] 20
> range01(c(1, 8, 12, 20))
[1] -0.05 6.95 10.95 18.95
這里返回的結果有點讓我摸不著頭腦,待明白后再續……