亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R語言數據標準化方法怎么使用

發布時間:2022-05-27 15:32:03 來源:億速云 閱讀:3024 作者:iii 欄目:大數據

這篇“R語言數據標準化方法怎么使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“R語言數據標準化方法怎么使用”文章吧。

Q:

什么是數據標準化?

A:

在微生物組學數據分析之前,我們常常需要根據數據量綱的不同以及分析方法的需要對數據進行各種預處理,也即數據標準化。數據標準化的目的是使數據的總體符合某種要求,例如使數據總體符合正態分布以方便參數檢驗、使數據范圍相同以方便比較分析、使數據分布均勻以方便作圖展示等。我們必須知道不同標準化方法的內涵,從而在實際研究中可以選擇正確的數據標準化方法。

首先我們介紹一下數據轉換。簡單數據轉換也即對整體數據進行簡單運算,數據轉換的目的主要有三個,一是改變數據結構,例如非線性通過平方根、對數轉換為線性;二是改變數據范圍,便于比較和作圖分析,例如數據變化特別大的可以進行對數轉換來縮小屬性范圍;三是改變數據分布,使得樣本偏離標準分布太遠的更加接近標準分布(例如正態分布)。常見的數據轉換有以下幾種:

對數轉換:將數據(樣本觀察值)取自然對數(或者其他數為底的對數),可以使用log()函數來實現(log1p()可以將數據加1后取自然對數)。若是數據中有0或負值,可以全部數據加上一個數轉換為正數。一般來說自然對數轉換可以使0~1范圍內的數據范圍變大,可以使>1范圍內數據范圍變緊湊。

平方根轉換:將數據全部取平方根,可以使用sqrt(x)或者x^0.5來實現。類似的還有立方根轉換、四次方根轉換,偶數次方根要求數據非負。如果數據結構為二次關系,平方根轉換后平方根轉換可以使數據范圍變小。

倒數轉換  :將數據全部取倒數,也即  1/x  ,倒數轉換使  0~1  范圍內的數據范圍變大,使  >1  范圍內數據范圍變緊湊,而且轉換后數據為倒序。
 
數據轉換僅僅是對數據中每個觀察值的獨立處理,而標準化則涉及到數值之間的處理。下面我們以生態學常用的  vegan  包中的  decostand()  函數為例,分析不同標準化方法的差別,此函數使用方法如下:
decostand(x, method, MARGIN, range.global, logbase = 2, na.rm=FALSE, ...)

其中x為向量或矩陣,method為標準化方法,MARGIN=1按行處理,MARGIN=2按列處理,不同標準化方法介紹如下:

①method="pa",將數據轉換為有-無(1-0)類型,若分析不加權的情況群結構下可以使用;

②method="max",最大值標準化,將數據除以該行或者列的最大值(defaultMARGIN=2)。若數據非負,最大值標準化后數據全部位于0到1之間。

③method="total",總和標準化,將數據除以該行或者列的總和,也即求相對豐度(default MARGIN=1),總和標準化后數據全部位于0到1之間。

④method="range",Min-max標準化,將數據減去該行或者列的最小值,并比上最大值與最小值之差(defaultMARGIN=2),Min-max標準化后的數據全部位于0到1之間。

⑤method="normalize",模標準化,將數據除以每行或者每列的平方和的平方根(default MARGIN=1),模標準化后每行、列的平方和為1(向量的模為1),也即在笛卡爾坐標系中到原點的歐氏距離為1,樣品分布在一個圓弧上,彼此之間的距離為弦長,因此也稱為弦轉化。在基于歐氏距離的PCARDA中分析群落數據可以將每個樣方弦轉化可以彌補歐氏距離的缺陷。弦轉化后的數據使用歐氏距離函數計算將得到弦距離矩陣

⑥method="hellinger",hellinger轉化,就是總和標準化數據的平方根(default MARGIN=1),hellinger轉化后的數據使用歐氏距離函數計算將得到hellinger距離矩陣

⑦method="chi.square",卡方轉化,在默認(defaultMARGIN=1)的情況下是數據除以行的和再除以列的和的平方根,卡方轉化后的數據使用歐氏距離函數計算將得到卡方距離矩陣

⑧Wisconsin轉化,這個是使用伴隨的函數wisconsin(),將數據除以該列最大值再除以該行總和,是最大值標準化和總和標準化的結合。

⑨  method="standardize"  ,  z-score  標準化  ,  最常用的標準化方法之一,將數據減去均值比上標準差  (default MARGIN=2)  ,  z-score  標準化后數據均值為  0  ,方差為  1  ,服從正態總體的數據標準化后服從標準正態分布。  z-score  標準化  可以去除不同環境因子量綱的影響。

一般情況下,上面方法中默認MARGIN=1是默認對樣品進行處理,默認MARGIN=2是默認對物種或者環境變量進行處理。

為了比較不同標準化方法對群落數據的影響,我們使用只有兩個物種的虛擬群落進行處理,然后在笛卡爾坐標系進行展示(彼此之間是歐氏距離):
#假設虛擬數據:2個物種在5個樣方的分布spe1=c(0.1,0.2,0.3,0.4,0.5)spe2=c(0.6,0.7,0.8,0.9,1)ab=cbind(spe1,spe2)rownames(ab)=LETTERS[1:5]#各種標準化ab1=decostand(ab, MARGIN=1, "total")ab2=decostand(ab, MARGIN=1, "normalize")ab3=decostand(ab, MARGIN=1, "hellinger")ab4=decostand(ab, MARGIN=1, "chi.square")ab5=wisconsin(ab)#作圖觀察不同標準化方法距離差異par(mfrow=c(2,3))plot(ab[,1], ab[,2], xlim=0:1, ylim=0:1, main="Raw data")text(ab[,1], ab[,2]-0.05, labels=rownames(ab), cex=1.2)plot(ab1[,1], ab1[,2], xlim=0:1, ylim=0:1, main="Total")text(ab1[,1], ab1[,2]-0.05, labels=rownames(ab), cex=1.2)plot(ab2[,1], ab2[,2], xlim=0:1, ylim=0:1, main="Normalize")text(ab2[,1], ab2[,2]-0.05, labels=rownames(ab), cex=1.2)plot(ab3[,1], ab3[,2], xlim=0:1, ylim=0:1, main="Hellinger")text(ab3[,1], ab3[,2]-0.05, labels=rownames(ab), cex=1.2)plot(ab4[,1], ab4[,2], xlim=0:1, ylim=0:1, main="Chi.square")text(ab4[,1], ab4[,2]-0.05, labels=rownames(ab), cex=1.2)plot(ab5[,1], ab5[,2], xlim=0:1, ylim=0:1, main="Wisconsin")text(ab5[,1], ab5[,2]-0.05, labels=rownames(ab), cex=1.2)

結果如下所示:

R語言數據標準化方法怎么使用

在沒有處理的情況下,群落之間的歐氏距離相等,然而在生態學方面我們不這么看,因為B中物種1的數量是A的兩倍,其群落差異顯然比D、E更大,五種處理方法標準化數據后的結果都比較好的證實了上面的猜想,尤其是最后兩種。然而在微生物生態中,我們傾向于認為微生物群落是一個整體,不同樣品之間物種的相對豐度是有可比較的實際意義的,因此最常用的就是總和標準化(當然在不涉及豐度比較的聚類和排序分析中各種標準化方法都可以嘗試,在傳統群落研究里,雖然經常使用中心化等方法,但是需要使用蓋度等對不同物種進行加權,因此直接進行總和標準化從某種意義上是使用相對豐度進行加權)。

對于物理、化學變量而言,則完全不同,因為環境變量的值具有絕對性,例如溫度  1-2  ℃和  21-22  ℃其差異是一樣的。環境變量由于量綱不同,在計算距離矩陣(歐氏距離)、根據特征根提取的主成分分析、比較系數的回歸分析之前,均需要進行  z-score標準化。

以上就是關于“R語言數據標準化方法怎么使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南漳县| 聂荣县| 哈密市| 荣成市| 安平县| 内丘县| 新野县| 香河县| 太和县| 九龙坡区| 定州市| 临武县| 武定县| 望都县| 尚志市| 龙海市| 鹰潭市| 昌乐县| 称多县| 昌宁县| 犍为县| 醴陵市| 贵溪市| 南皮县| 开江县| 诸城市| 靖江市| 连山| 濮阳县| 偏关县| 秦安县| 桂东县| 旅游| 韶山市| 新乐市| 桑植县| 伽师县| 顺昌县| 民权县| 临夏市| 观塘区|