久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

R學習:R for Data Science(二)

 公號生信小課堂 2021-10-28

R語言學習系列

昨天我們開始了R for Data Science這本書的學習,今天我們來繼續(xù)學習

R學習:R for Data Science(一)

分面

添加額外變量的一種方法是使用圖形屬性,。另一種方法是將圖分割成多個分面,,即可以顯示數(shù)據(jù)子集的子圖。這種方法特別適合添加分類變量,。

library(tidyverse)library(ggplot2)a=mpg#查看mpg

要想通過單個變量對圖進行分面,,可以使用函數(shù)facet_wrap()。其第一個參數(shù)是一個公式,,創(chuàng)建公式的方式是在 ~ 符號后面加一個變量名(這里所說的“公式”是R中的一種數(shù)據(jù)結(jié)構(gòu),,不是數(shù)學意義上的公式)。傳遞facet_wrap()的變量應(yīng)該是離散型的,。

ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) + facet_wrap(~ class, nrow = 2)

要想通過兩個變量對圖進行分面,,需要在繪圖命令中加入函數(shù) facet_grid()。這個函數(shù)的第一個參數(shù)也是一個公式,,但該公式包含由~隔開的兩個變量名,。

ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) + facet_grid(drv ~ cyl)

如果不想在行或列的維度進行分面,你可以使用 . 來代替變量名,,例如 + facet_grid(. ~cyl),。

ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) + facet_grid(.~ cyl)

幾何對象

兩張圖有同樣的 x 變量和 y 變量,而且描述的是同樣的數(shù)據(jù),。但這兩張圖并不一樣,,它們各自使用不同的可視化對象來表示數(shù)據(jù)。在 ggplot2 語法中,,我們稱它們使用了不同的幾何對象,。

幾何對象是圖中用來表示數(shù)據(jù)的幾何圖形對象。我們經(jīng)常根據(jù)圖中使用的幾何對象類型來描述相應(yīng)的圖,。例如,,條形圖使用了條形幾何對象,折線圖使用了直線幾何對象,,箱線圖使用了矩形和直線幾何對象,。散點圖打破了這種趨勢,它們使用點幾何對象,。如上面的兩幅圖所示,,我們可以使用不同的幾何對象來表示同樣的數(shù)據(jù)。左側(cè)的圖使用了點幾何對象,,右側(cè)的圖使用了平滑曲線幾何對象,,以一條平滑曲線來擬合數(shù)據(jù),。

要想改變圖中的幾何對象,需要修改添加在 ggplot() 函數(shù)中的幾何對象函數(shù),。舉例來說,,要想繪制出上圖,你可以使用以下代碼:

ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy))

ggplot(data = mpg) + geom_smooth(mapping = aes(x = displ, y = hwy))


ggplot2 中的每個幾何對象函數(shù)都有一個 mapping 參數(shù),。但是,,不是每種圖形屬性都適合每種幾何對象。你可以設(shè)置點的形狀,,但不能設(shè)置線的“形狀”,而可以設(shè)置線的線型,。

geom_smooth() 函數(shù)可以按照不同的線型繪制出不同的曲線,每條曲線對應(yīng)映射到線型的變量的一個唯一值:

ggplot(data = mpg) + geom_smooth(mapping = aes(x = displ, y = hwy, linetype = drv))

ggplot2 提供了 30 多種幾何對象,,其擴展包甚至提供了更多,。如果想全面地了解這些對象,最好的方式是學習 ggplot2 速查表(文章末尾有獲取方式),。如果想掌握更多關(guān)于某個幾何對象的知識,,那么可以使用幫助,如 ?geom_smooth,。

和 geom_smooth() 一樣,,很多幾何對象函數(shù)使用單個幾何對象來表示多行數(shù)據(jù)。你可以將這些幾何對象的 group 圖形屬性設(shè)置為一個分類變量,,這樣 ggplot2 就會為這個分類變量的每個唯一值繪制一個獨立的幾何對象,。實際上,只要將一個圖形屬性映射為一個離散變量,,ggplot2就會自動對數(shù)據(jù)進行分組來繪制多個幾何對象,。

ggplot(data = mpg) + geom_smooth(mapping = aes(x = displ, y = hwy))


ggplot(data = mpg) + geom_smooth(mapping = aes(x = displ, y = hwy, group = drv))

ggplot(data = mpg) + geom_smooth( mapping = aes(x = displ, y = hwy, color = drv), show.legend = FALSE )

要想在同一張圖中顯示多個幾何對象,可以向 ggplot() 函數(shù)中添加多個幾何對象函數(shù):

ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) + geom_smooth(mapping = aes(x = displ, y = hwy))

但是,,這樣代碼就產(chǎn)生了一些重復(fù),。假如你想將 y 軸上的變量從 hwy 改成 cty,那么就要在兩個地方修改這個變量,,但你或許會漏掉一處,。避免這種重復(fù)的方法是將一組映射傳遞給 ggplot() 函數(shù)。ggplot2 會將這些映射作為全局映射應(yīng)用到圖中的每個幾何對象中,。換句話說,,以下代碼將繪制出與上面代碼同樣的圖:

ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) + geom_point() + geom_smooth()

如果將映射放在幾何對象函數(shù)中,那么 ggplot2 會將其看作這個圖層的局部映射,,它將使用這些映射擴展或覆蓋全局映射,, 但僅對該圖層有效。這樣一來,,我們就可以在不同的圖層中顯示不同的圖形屬性:

ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) +geom_point(mapping = aes(color = class)) +geom_smooth()

同理,你也可以為不同的圖層指定不同的數(shù)據(jù)。下圖中的平滑曲線表示的只是 mpg 數(shù)據(jù)集的一個子集,,即微型車,。geom_smooth() 函數(shù)中的局部數(shù)據(jù)參數(shù)覆蓋了 ggplot() 函數(shù)中的全局數(shù)據(jù)參數(shù),當然僅對這個圖層有效:

ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) + geom_point(mapping = aes(color = class)) + geom_smooth( data = filter(mpg, class == "subcompact"), se = FALSE  )

好了,,今天就學到這,。

另外,最近收集了一些很好的資源,,分享給大家,,順便能漲一些粉,主要有

1. 19年中標的各門類國自然題目匯總,,以及17年的國自然匯總,,部分含摘要!


2. R語言學習書籍

R語言實戰(zhàn)(中文完整版)

R數(shù)據(jù)科學(中文完整版)

ggplot2:數(shù)據(jù)分析與圖形藝術(shù)

30分鐘學會ggplot2

3. TCGA數(shù)據(jù)整理

前期從https:///datapages/ (UCSC Xena)數(shù)據(jù)庫下載的TCGA數(shù)據(jù),,傳到了百度云上備份,。

4. ggplot2速查表pdf(可復(fù)制)


感興趣的話,轉(zhuǎn)發(fā)朋友圈或者100人以上的微信群,,截圖發(fā)到公眾號,,即可獲取全部資源的百度云鏈接,鏈接7天有效,,希望大家趕緊下載,。你們的支持是我前進的動力,感謝,。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多