? ? 不同的指標或變量的原始值在單位、量綱、取值范圍等方面會有較大差異,因此,在處理較多變量的數據時,需要先對數據進行標準化,使不同變量具有可比性。
????常用的標準化方法有:
(1)最大-最小值標準化(離差標準化)。
? ? 此方法將數值映射到[0,1]。該方法的缺點是,容易受到最大最小值的影響。
方法:vegan包,decostand(data,method="range")。行:margin=1,列:margin=2。
(2)標準差標準化。
? ??是原始數據的平均值,
是原始數據的標準差,此方法得到均值為0,標準差為1的數據集。為減小離群點的影響,可用中位數代替均值,用絕對標準差代替標準差。
方法:scale(data,center=T,scale=T) 或? decostand(data,"standardize")。
(3)0-1數據(有-無數據)
方法:decostand(data,method="pa")
(4)每個數值除以該行或該列的最大值
方法:decostand(data,method="max")
(5)每個數值除以該行或該列的總和
方法:decostand(data,method="total")
(6)用排名代替具體數值
方法:decostand(data,method="rank"),默認為行。
> data
? ? lie
hang C D E
? ?A 1 3 5
? ?B 2 4 6
> decostand(data,"rank")
? ? lie
hang C D E
? ?A 1 2 3
? ?B 1 2 3
(7)decostand()還提供了chi.square、hellinger、log等方法。
參考:《R語言數據分析與挖掘實戰(zhàn)》張良均等;《數量生態(tài)學》賴江山譯。