最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

敲黑板?。⌒≡平棠銓W(xué)習(xí)R包-ggalluvial,繪制炫酷的?;鶊D(Sankey

2023-09-27 15:24 作者:爾云間  | 我要投稿

小伙伴平時面對多個數(shù)據(jù)關(guān)系不知道如何繪制圖,一般來說使用常見的表格已經(jīng)滿足不了小伙伴,并且也不好看。而今天小云給大家介紹的?;鶊D可以呈現(xiàn)數(shù)據(jù)的流動和分布。而桑基圖(Sankey)作為相對復(fù)雜的圖表種類,平時很少用到,主要是它使用的而環(huán)境不多,并且制作難度很大,但是?;鶊D可以很好的展示我們數(shù)據(jù)的分布。 我們就帶小伙伴去學(xué)習(xí)?;鶊D的繪制,小云帶小伙伴繪制的?;鶊D是一種特定類型的流程圖,其中圖中延伸分支的寬度對應(yīng)數(shù)據(jù)流量的大小,通常應(yīng)用我們數(shù)據(jù)的可視化分析。

接下里小云就大家去學(xué)習(xí)吧!

首先我們先載入R包,主要用到主要的用到還是ggalluvial這專門繪制?;鶊D的包 library(ggalluvial) library(ggplot2) library(dplyr) #這里小云使用的實例數(shù)據(jù)帶領(lǐng)大家去學(xué)習(xí),主要用的使用TCGA數(shù)據(jù)集中的LIHC的臨床數(shù)據(jù)進行展示,大家可以根據(jù)數(shù)據(jù)格式處理自己的臨床數(shù)據(jù)。

#讀入LIHC臨床數(shù)據(jù) LIHC <- read.csv("data.csv",header=TRUE) #在這里展示數(shù)據(jù)情況 head(LIHC) summary(LIHC) 小伙伴注意下:?;鶊D的數(shù)據(jù)結(jié)構(gòu)需要節(jié)點,權(quán)重等信息,而ggalluvial的輸入數(shù)據(jù)可以是長數(shù)據(jù)亦可以是寬數(shù)據(jù) 我們先對臨床數(shù)據(jù)進行簡單的處理得到四個變量的頻數(shù),整理成寬數(shù)據(jù)。: #分組計算頻數(shù) LIHCData <- group_by(LIHC,AGE,SEX,AJCC_PATHOLOGIC_TUMOR_STAGE,OS_STATUS) %>% summarise(., count = n()) #查看寬數(shù)據(jù)格式 head(LIHCData)

上述數(shù)據(jù)處理完成,我們開始去繪制?;鶊D:

ggplot(as.data.frame(LIHCData), ??????aes(axis1 = AJCC_PATHOLOGIC_TUMOR_STAGE, axis2 = SEX, axis3 = AGE, ??????????y= count)) + ?scale_x_discrete(limits = c("AJCC_STAGE", "SEX", "AGE"), expand = c(.1, .05)) + ?geom_alluvium(aes(fill = OS_STATUS)) + ?geom_stratum() + geom_text(stat = "stratum", label.strata = TRUE) + ?theme_minimal() + ?ggtitle("Patients in the TCGA-LIHC cohort", ?????????"stratified by demographics and survival")

上述代碼中,axis參數(shù)設(shè)置待展示的節(jié)點信息(就是柱子) 還有g(shù)eom_alluvium參數(shù)設(shè)置的是組間面積連接,這個地方小云這里按照生存狀態(tài)分組;小伙伴可以按照參數(shù)設(shè)置自行安排。 接下來我們對長數(shù)據(jù)示例的展示: ggplot2通常處理的是長表格的模式,那我們就使用to_lodes_form函數(shù)即可轉(zhuǎn)換 #to_lodes_form生成alluvium和stratum列,主分組位于key列中 LIHC_long <- to_lodes_form(data.frame(LIHCData), ?????????????????????????????key = "Demographic", ?????????????????????????????axes = 1:3) head(LIHC_long)

然后接下來繪制?;鶊D:

# 繪制?;鶊D ggplot(data = LIHC_long, ??????aes(x = Demographic, stratum = stratum, alluvium = alluvium, ??????????y = count, label = stratum)) + ?geom_alluvium(aes(fill = OS_STATUS)) + ?geom_stratum() + geom_text(stat = "stratum") + ?theme_minimal() + ?ggtitle("Patients in the TCGA-LIHC cohort", ?????????"stratified by demographics and survival")

接下來我們還以利用?;鶊D去展示狀態(tài)變化的趨勢 這里我們使用R包中內(nèi)置數(shù)據(jù)集 vaccinations?這個可以展示同一個項目下不同生存狀態(tài)的情況 感興趣的小伙伴可以按照一下數(shù)據(jù)形式去設(shè)置自己的數(shù)據(jù)集:

data(vaccinations) levels(vaccinations$response) <- rev(levels(vaccinations$response))#小云在這里作為演示 接下來繪制?;鶊D: ggplot(vaccinations, ??????aes(x = survey, stratum = response, alluvium = subject, ??????????y = freq, ??????????fill = response, label = response)) + ?scale_x_discrete(expand = c(.1, .1)) + ?geom_flow() + ?geom_stratum(alpha = .5) + ?geom_text(stat = "stratum", size = 3) + ?theme(legend.position = "none") + ?ggtitle("vaccination survey responses at three points in time")

這樣一來狀態(tài)變化的趨勢就展示出來了。 上述就是如何使用R包-ggalluvial繪制桑基圖!,小伙伴有沒有心動呢,快去設(shè)置自己的數(shù)據(jù)集去完成?;鶊D。小云在這里提醒大家一下,要注意多多理解代碼中參數(shù)的含義,這樣能把自己可視化的結(jié)果展示成自己的圖片。

敲黑板!!小云教你學(xué)習(xí)R包-ggalluvial,繪制炫酷的?;鶊D(Sankey的評論 (共 條)

分享到微博請遵守國家法律
鱼台县| 钦州市| 乌拉特中旗| 平昌县| 滦平县| 黑龙江省| 尚义县| 南城县| 安庆市| 馆陶县| 额尔古纳市| 留坝县| 分宜县| 廊坊市| 阳高县| 黄骅市| 松江区| 昂仁县| 五河县| 寿宁县| 玛沁县| 屏南县| 边坝县| 安图县| 穆棱市| 高碑店市| 崇礼县| 鹤庆县| 万全县| 依兰县| 三亚市| 旬阳县| 左权县| 德钦县| 普洱| 克山县| 汝州市| 儋州市| 丰都县| 台江县| 拉萨市|