R語言的scale函數


1、數據的中心化

所謂數據的中心化是指數據集中的各項數據減去數據集的均值。

例如有數據集1, 2, 3, 6, 3,其均值為3

那么中心化之后的數據集為1-3,2-3,3-3,6-3,3-3,即:-2,-1,0,3,0

2、數據的標准化

所謂數據的標准化是指中心化之后的數據在除以數據集的標准差,即數據集中的各項數據減去數據集的均值再除以數據集的標准差。

例如有數據集1, 2, 3, 6, 3,其均值為3,其標准差為1.87

那么標准化之后的數據集為(1-3)/1.87,(2-3)/1.87,(3-3)/1.87,(6-3)/1.87,(3-3)/1.87,即:-1.069,-0.535,0,1.604,0

 

數據中心化和標准化的意義是一樣的,為了消除量綱對數據結構的影響。

在R語言中可以使用scale方法來對數據進行中心化和標准化:

#限定輸出小數點后數字的位數為3位

> options(digits=3)
> data <- c(1, 2, 3, 6, 3)

#數據中心化

> scale(data, center=T,scale=F)
[,1] [1,] -2 [2,] -1 [3,] 0 [4,] 3 [5,] 0
attr(,"scaled:center")
[1] 3

#數據標准化

> scale(data, center=T,scale=T)
[1,] -1.06904 [2,] -0.53452 [3,] 0.00000 [4,] 1.60357 [5,] 0.00000 
attr(,"scaled:center")
[1] 3
attr(,"scaled:scale")
[1] 1.8708

 

scale方法中的兩個參數center和scale的解釋:

1)center和scale默認為真,即T或者TRUE

2)center為真表示數據中心化

3)scale為真表示數據標准化

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM