日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UMAP分析步骤初解

發布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UMAP分析步骤初解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UMAP

UMAP (Uniform Manifold Approximation and Projection) 算法是一種創新的降維流形學習算法。來自于拓撲數據分析。可以用于類似于t-SNE的可視化,但也可以用于一般的非線性降維。文章里的這個圖可以看出,sars-cov-2感染患者的血清組學數據與健康個體的組學數據得到了很好的分辨,而其他組則表現出一定程度的分離。

?數據格式

?

繪制?

?很顯然,重點在于umap分析,可視化只是常見的散點圖。

#------ title: "UMAP" author: "ZZYE" date: "2022/3/27" #----- # 初次使用需要安裝 #install.packages("uamp") rm(list = ls()) # 路徑自己設置 setwd("C:/Users/frank/Desktop/python") # 載入 library(umap) library(ggplot2) #導入數據,首列為行名 df <- read.csv(file = "tes.csv",row.names = 1) #生成一個不含ID列的新數據集 df_umap <- df[,colnames(df)!='ID'] #按行進行標準化 df_umap <- data.frame(t(apply(df_umap,1,function(v){(v-mean(v,na.rm=T))/sd(v,na.rm=T)})),stringsAsFactors=F) #替換NA為0 df_umap[is.na(df_umap)] <- 0 #UMAP分析 umap <- umap(df_umap,method='naive',n_neighbors = 10) #n_neighbors 用似的局部鄰域的大小(根據鄰域采樣點的數量)。數值越大,流形的全局視圖就越多,而數值越小,保留的局部數據就越多。通常值應該在2到100的范圍內。 #method 可用的方法是“naive”(用純R編寫的實現)和“umap-learn”(需要python包“umap-learn”) # 查看降維后的結果 head(umap$layout) #提取umap值作圖用 df1 <- data.frame(umap$layout) df1$ID <- df$ID #加入ID列 colnames(df1) <- c('X','Y') #改個列名 不改也行p <- ggplot(df1, aes(x=X, y=Y)) + geom_point(size=4)+xlab(NULL)+ #不添加x y軸名稱ylab(NULL) p <- p + theme( panel.grid.major = element_blank(),panel.grid.minor = element_blank(),legend.title=element_blank(), #圖例標簽隱藏panel.border = element_blank(),axis.line.x = element_line(color="black", size = 0.5),axis.line.y = element_line(color="black", size = 0.5),panel.background = element_blank()) #按文章的配色改個顏色 p <- p + scale_colour_manual(values=c("#D58F25","#882424","#7DA92E","#5A7EB3")) p #保存為svg格式圖片 ggsave(p,filename = "umap.svg",width = 5,height = 4)

?出圖

?

總結

以上是生活随笔為你收集整理的UMAP分析步骤初解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。