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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

使用R语言进行perMANVOA分析NMDS结果多个分组之间显著性

發(fā)布時間:2024/1/8 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用R语言进行perMANVOA分析NMDS结果多个分组之间显著性 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
library(vegan) otu_table.csv <- read.csv("C:/Users/baixin/Desktop/data_nmds.csv",header = T,row.names = 1,check.names=FALSE) #check.names=FALSE,防止把數(shù)值列名轉(zhuǎn)換成添加字母的形式,row.name=1,規(guī)定首列為行名,header = T首行為列名 #View(otu_table.csv)#Seeing the data by the type of table.以表格形式查看 #otu_table.csv#輸出臺查看 otu_transition <- data.frame(t(otu_table.csv))#將OTU 豐度表轉(zhuǎn)換為需要的格式,otu正常為首行表示樣本名稱,首列表示多個樣本檢測指標名稱 #View(otu_transition) #otu_transition #樣本分組文件 group <- read.csv("C:/Users/baixin/Desktop/groups.csv")#讀入分組文件 #View(group)##PERMANOVA 分析(所有分組間比較,即整體差異) #(2)若是使用 OTU 豐度表,則需要在計算時指定所依據(jù)的距離類型,這里依然使用 Bray-Curtis 距離 adonis_result_otu_transition <- adonis2(otu_transition ~ site, group, permutations = 999, distance = 'bray',by="margin") #這條命令的詳情和上述命令所表示的信息一致,表中必須全為數(shù)值,不能有一行或列全為0,by="margin"表示變量排列順序?qū)ε袛酂o關(guān) #adonis_result_otu_transition#可選輸出 otuput <- data.frame(adonis_result_otu_transition, check.names = FALSE, stringsAsFactors = F) if (otuput[1,'Pr(>F)'] <= 0.001) otuput[1, 'SIG'] <- '***' else if (otuput[1,'Pr(>F)'] <= 0.01) otuput[1, 'SIG'] <- '**' else if (otuput[1,'Pr(>F)'] <= 0.05) otuput[1, 'SIG'] <- '*' otuputwrite.csv(otuput,"C:/Users/baixin/Desktop/otuput.csv")##PERMANOVA 分析(使用循環(huán)處理,進行小分組間比較,如兩組間) #推薦使用 OTU 豐度表作為輸入數(shù)據(jù),每次篩選分組后重新計算樣本距離,避免由于樣本數(shù)減少可能導致的距離變動而造成誤差 group_name <- unique(group$site)#判定一共分為幾組,得到組名附值給group_name #group_name#輸出“b”,“a”,“c” adonis_result_two <- NULL for (i in 1:(length(group_name) - 1)) {#從范圍中選擇i和jfor (j in (i + 1):length(group_name)) {group_ij <- subset(group, site %in% c(group_name[i], group_name[j]))#選擇兩個分組otu_ij <- otu_transition[group_ij$yangdian, ]#group_ij$yangdian將行名符合group_ij的數(shù)據(jù)提取出來賦值給otu_ijadonis_result_otu_ij <- adonis2(otu_ij~site, group_ij, permutations = 999, distance = 'bray',by="margin")#隨機置換檢驗 999 次adonis_result_two <- rbind(adonis_result_two,c(paste(group_name[i], group_name[j], sep = '/'), '以Bray-Curtis比較', unlist(data.frame(adonis_result_otu_ij, check.names = FALSE)[1, ])))} } #View(otu_ij) #可選標記 “*” 顯著性,nrow(adonis_result_two)表示adonis_result_two數(shù)量 #'Pr(>F)'需要在輸出控制臺復制,不同版本可能表達不同, adonis_result_two <- data.frame(adonis_result_two,check.names = FALSE, stringsAsFactors = F) for (i in 1:nrow(adonis_result_two)) {if (adonis_result_two[i, 'Pr(>F)'] <= 0.001) adonis_result_two[i, 'SIG'] <- '***'else if (adonis_result_two[i, 'Pr(>F)'] <= 0.01) adonis_result_two[i, 'SIG'] <- '**'else if (adonis_result_two[i, 'Pr(>F)'] <= 0.05) adonis_result_two[i, 'SIG'] <- '*' }#此段代碼只能放在上一行轉(zhuǎn)置代碼后 adonis_result_two write.csv(adonis_result_two ,"C:/Users/baixin/Desktop/output_two.csv")

總結(jié)

以上是生活随笔為你收集整理的使用R语言进行perMANVOA分析NMDS结果多个分组之间显著性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。