乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      R語(yǔ)言之可視化(25)繪制相關(guān)圖(ggcorr包)

       頭頭了不起 2019-08-04

      介紹

      ggcorr函數(shù)是一個(gè)可視化函數(shù),用于將矩陣?yán)L制為ggplot2圖片。

      為何使用ggcorr包

      相關(guān)矩陣顯示相對(duì)大量連續(xù)變量之間的相關(guān)系數(shù)。 然而,雖然R提供了一種通過(guò)cor函數(shù)創(chuàng)建這種矩陣的簡(jiǎn)單方法,但它沒(méi)有為該函數(shù)創(chuàng)建的矩陣提供繪圖方法。ggcorr函數(shù)提供了這樣的繪圖方法,使用ggplot2包中實(shí)現(xiàn)的“圖形語(yǔ)法”來(lái)渲染繪圖。 在實(shí)踐中,其結(jié)果在圖形上接近于corrplot函數(shù)的結(jié)果,這是優(yōu)秀的arm包的一部分。

      安裝

      ggcorr可通過(guò)GGally包獲得:

      install.packages("GGally")
      nba = read.csv("http://datasets./ppg2008.csv")
      head(nba)
      library(ggplot2)
      library(GGally)
      ggcorr(nba)

      (1)ggcorr的第一個(gè)參數(shù)叫做輸入數(shù)據(jù)。一般輸入數(shù)據(jù)為數(shù)據(jù)框dataframe格式。 (2)這里出現(xiàn)了警告,原因是非數(shù)字的列是不能狗計(jì)算相關(guān)性的。因此它做相關(guān)性繪圖時(shí)自動(dòng)排除了非數(shù)字列:‘name’列

      相關(guān)方法

      ggcorr支持cor函數(shù)提供的所有相關(guān)方法。該方法由method參數(shù)控制。

      • 在相關(guān)矩陣中需要考慮的第一個(gè)設(shè)置是選擇要使用的觀測(cè)值。此設(shè)置可能采用以下任何值:“everything”,“all.obs”,“complete.obs”, “na.or.complete”或“pairwise.complete.obs”(ggcorr使用的默認(rèn)值)。這些設(shè)置控制在存在缺失值時(shí)如何計(jì)算協(xié)方差。它們之間的區(qū)別在cor函數(shù)的文檔中有解釋。
      • ggcorr需要的第二個(gè)設(shè)置是要計(jì)算的相關(guān)系數(shù)的類(lèi)型。它有三個(gè)可能的值:“pearson”(ggcorr和cor使用的默值),“kendall”或“spearman”。同樣,每個(gè)設(shè)置之間的差異在cor函數(shù)的文檔中進(jìn)行了解釋。一般來(lái)說(shuō),默認(rèn)選擇應(yīng)為“pearson”,它會(huì)根據(jù)Pearson方法生成相關(guān)系數(shù)。

      以下是一些示例,說(shuō)明如何將不同的關(guān)聯(lián)方法傳遞給ggcorr:

      # Pearson correlation coefficients, using pairwise observations (default method)
      ggcorr(nba[, -1], method = c("pairwise", "pearson"))
      # Pearson correlation coefficients, using all observations
      ggcorr(nba[, -1], method = c("everything", "pearson"))
      # Kendall correlation coefficients, using complete observations
      ggcorr(nba[, -1], method = c("complete", "kendall"))
      # Spearman correlation coefficients, using strictly complete observations
      ggcorr(nba[, -1], method = c("all.obs", "spearman"))

      如果沒(méi)有提供第二個(gè)參數(shù),ggcorr將默認(rèn)為“pearson”。

      繪制參數(shù)

      其余的這些小插圖側(cè)重于如何調(diào)整ggcorr繪制的相關(guān)矩陣的方面。

      控制色標(biāo)

      默認(rèn)情況下,ggcorr使用從-1到+1的連續(xù)色標(biāo)來(lái)顯示矩陣中表示的每個(gè)相關(guān)的強(qiáng)度。 要切換到分類(lèi)顏色,用戶(hù)所要做的就是添加nbreaks參數(shù),該參數(shù)指定顏色標(biāo)度中應(yīng)包含的斷點(diǎn)數(shù):

      ggcorr(nba[, 2:15], nbreaks = 5)

      使用nbreaks參數(shù)時(shí),顏色標(biāo)度中顯示的位數(shù)通過(guò)digits參數(shù)控制。 digits參數(shù)默認(rèn)為兩位數(shù),但如上例所示,如果中斷不需要更高的精度,則默認(rèn)為一位數(shù)。

      對(duì)色階的進(jìn)一步控制包括name參數(shù)(用于設(shè)置其標(biāo)題),legend.size參數(shù)(用于設(shè)置圖例文本的大?。┖蚻egend.position參數(shù)(用于控制圖例的顯示位置)。 后兩個(gè)只是ggplot2主題中相同參數(shù)的快捷方式,由于該圖是一個(gè)ggplot2對(duì)象,所有其他相關(guān)的主題和指南方法也適用:

      ggcorr(nba[, 2:15], name = expression(rho), 
      legend.position = "bottom", legend.size = 12) +
        guides(fill = guide_colorbar(barwidth = 18, title.vjust = 0.75)) +
        theme(legend.title = element_text(size = 14))

      控制調(diào)色板

      ggcorr使用默認(rèn)的顏色漸變,從亮紅色到淺灰色到亮藍(lán)色。 可以通過(guò)low,mid和high參數(shù)修改此漸變,這與ggplot2中的scale_gradient2控制器類(lèi)似:

      ggcorr(nba[, 2:15], low = "steelblue", mid = "white", high = "darkred")

      默認(rèn)情況下,漸變的中點(diǎn)設(shè)置為0,表示無(wú)相關(guān)關(guān)系。 中點(diǎn)參數(shù)可用于修改此設(shè)置。 特別是,將中點(diǎn)設(shè)置為NULL將自動(dòng)選擇中值相關(guān)系數(shù)作為中點(diǎn),并將向用戶(hù)顯示該值:

      ggcorr(nba[, 2:15], midpoint = NULL)

      控制色標(biāo)顏色的最后一個(gè)選項(xiàng)是通過(guò)palette參數(shù)使用ColorBrewer調(diào)色板。 但是只有在使用nbreaks參數(shù)的前提時(shí),才能使用palette參數(shù):

      ggcorr(nba[, 2:15], nbreaks = 4, palette = "RdGy")

      注意:嘗試在顏色標(biāo)度上使用ColorBrewer調(diào)色板時(shí),調(diào)色板中的顏色比調(diào)色板中的顏色多,將向用戶(hù)返回警告(實(shí)際上是兩個(gè)相同的警告)。

      控制主要形狀

      默認(rèn)情況下,ggcorr使用顏色來(lái)表示相關(guān)系數(shù)的強(qiáng)度,其方式與熱圖中的顏色深淺表示觀察數(shù)值大小的方式類(lèi)似。但是ggcorr也可以將相關(guān)性表示為大小不同的圓圈,只需將其geom參數(shù)設(shè)置為“circle”:

      ggcorr(nba[, 2:15], geom = "circle", nbreaks = 5)

      此外,用戶(hù)可以通過(guò)min_size和max_size參數(shù)設(shè)置圓的最小和最大大小:

      在該小插圖的末尾示出了對(duì)ggcorr的幾何形狀的附加控制。

      控制系數(shù)標(biāo)簽

      ggcorr可以通過(guò)將label參數(shù)設(shè)置為T(mén)RUE來(lái)在相關(guān)圖上顯示變量之間的確切相關(guān)系數(shù):

      ggcorr(nba[, 2:15], label = TRUE)

      label_color和label_size參數(shù)允許設(shè)置系數(shù)標(biāo)簽的樣式:

      ggcorr(nba[, 2:15], nbreaks = 4, 
             palette = "RdGy", label = TRUE, 
             label_size = 3, label_color = "white")

      控制變量標(biāo)簽

      在上面的幾個(gè)例子中,變量標(biāo)簽的渲染(在相關(guān)矩陣的對(duì)角線(xiàn)上示出)不一定是最佳的。 要修改這些標(biāo)簽的方面,用戶(hù)所要做的就是將geom_text支持的任何參數(shù)直接傳遞給ggcorr。 下面的示例顯示了如何在將標(biāo)簽向左移動(dòng)并更改顏色時(shí)減小標(biāo)簽的大?。?/p>

      ggcorr(nba[, 2:15], hjust = 0.75, size = 5, color = "grey50")

      相關(guān)矩陣中的變量標(biāo)簽可能出現(xiàn)的一個(gè)問(wèn)題是它們太長(zhǎng)而無(wú)法在圖的左下方完整顯示。 如下圖所示MIN變量似乎在繪圖的最左下角被遮蓋了:

      ggcorr(nba[, 3:16], hjust = 0.75, size = 5, color = "grey50")

      要解決這個(gè)問(wèn)題,ggcorr可以通過(guò)layout.exp參數(shù)在繪圖的水平軸上添加一些空格。 將任何數(shù)值傳遞給此參數(shù)將在圖的左側(cè)添加一個(gè)或多個(gè)“不可見(jiàn)的圖塊”,這可以幫助顯示變量名較長(zhǎng)的問(wèn)題:

      ggcorr(nba[, 3:16], hjust = 0.75, size = 5, color = "grey50", layout.exp = 1)

      其他參數(shù)

      • 顏色范圍,在某些情況下,修改相關(guān)系數(shù)的顯示(-1,+ 1)范圍可能是有用的。 當(dāng)色標(biāo)是連續(xù)色彩漸變時(shí),可以通過(guò)將limits參數(shù)設(shè)置為FALSE來(lái)實(shí)現(xiàn):
      ggcorr(nba[, 2:15], limits = FALSE)

      設(shè)置相關(guān)系數(shù)的樣式

      如果ggcorr的geom參數(shù)設(shè)置為“text”,它將相關(guān)系數(shù)表示為它們的值:

      ggcorr(nba[, 2:15], geom = "text", 
      nbreaks = 5, 
      palette = "RdYlBu",
       hjust = 1)
      ggcorr(nba[, 2:15], geom = "text", 
      nbreaks = 5, palette = "RdYlBu",
       hjust = 1, label = TRUE, label_alpha = 0.5)

      控制內(nèi)部值

      由于ggcorr生成ggplot2對(duì)象,因此理解對(duì)象是如何構(gòu)造的以便從中獲取更具體的圖可能很有用。 每個(gè)ggcorr對(duì)象都包含以下數(shù)據(jù)對(duì)象:

      head(ggcorr(nba[, 2:15])$data, 5)

      在相關(guān)圖上突出顯示較高相關(guān)系數(shù)

      如下例所示,其中使用不同顏色的負(fù)系數(shù)和正系數(shù)突出顯示優(yōu)于0.5或低于-0.5的所有相關(guān)系數(shù):

      ggcorr(nba[, 2:15], geom = "blank",
             label = TRUE, hjust = 0.75) +
        geom_point(size = 10, aes(color = coefficient > 0, 
                                  alpha = abs(coefficient) > 0.5)) +
        scale_alpha_manual(values = c("TRUE" = 0.25, "FALSE" = 0)) +
        guides(color = FALSE, alpha = FALSE)

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多