本次更新:
EasyStat 使用指南library(devtools) remotes::install_github(「taowenmicro/EasyStat」)remotes::install_git(『https:如果國外不可用,則使用國內碼雲安裝導入包和數據,數據均來自真實試驗和文公開文獻下載,通過調整分組加入。
基於單個指標的統計分析
# 導入差異分析包
library(EasyStat)
library(ggplot2)# 用於作圖
library("dplyr")# 用於數據處理
# #使用內置數據1
# data(data_wt)
# #內置數據2
# data(env)正態檢驗和方差齊性分析,使用?NorNorCVTest查看幫助信息
# 使用?NorNorCVTest查看幫助信息
##使用案例
NorCV = NorNorCVTest(data = data_wt, i= 4,method_cv = "leveneTest")
#提取正態檢驗結果
NorCV[[1]]
# No Name W p.value norm.test
# 1 1 CF 0.9385422 0.6474760 Norm
# 2 2 CK 0.9306138 0.5848500 Norm
# 3 3 Rhi 0.9651627 0.8585061 Norm
# 4 4 WT 0.9756280 0.9278774 Norm
# 5 Test Method: Shapiro-Wilk NA NA <NA>
#提取方差齊性檢驗結果
NorCV[[2]]
# [1] 0.247norm.test會按照分組告訴大家是否符合正態分布。
方差分析(aovMcomper)data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group,第三列以後就是測定或者收集的指標了
i:代表您想要進行統計的列,比如:第三列:i = 3
method_Mc:選擇需要使用的多重比較方法,這裡又多種方法可供選擇:method_Mc == 「LSD」;method_Mc == 「SNK」;method_Mc == 「Duncan」;method_Mc == 「scheffe」
# ?aovMcomper
result= aovMcomper (data = data_wt, i= 6,method_Mc = "Tukey")
# 提取多重比較結果
result[[1]]
# groups group
# CF a CF
# CK a CK
# Rhi b Rhi
# WT a WT
#提取方差檢驗結果
result[[2]]
# Call:
# aov(formula = count ~ group, data = ss)
#
# Terms:
# group Residuals
# Sum of Squares 169573500000 3387000000
# Deg. of Freedom 3 20
#
# Residual standard error: 13013.45
# Estimated effects may be unbalanced結果中多重比較的展示全部使用字母表示了,雖然許多多種比較方法默認展示方式不同,但是我已經在包中將這些展示方式調整一致為字母。
非參數檢驗兩個參數代表的意義與方差分析的兩個相同;
# ?KwWlx
差異可視化方案(兩種差異表示,三種圖形展示)柱狀圖展示方差分析或非參數檢驗結果(aovMuiBarPlot)
res = KwWlx(data = data_wt, i= 6)
# 調用非參數兩兩比較結果:字母標記展示
res[[1]]
# groups group
# CF ab CF
# CK a CK
# Rhi c Rhi
# WT b WT
#表格展示兩兩之間差異結果
res[[2]]
# .y. group1 group2 p p.adj p.format p.signif method
# <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr>
# 1 count CF CK 0.123 0.25 0.1228 ns Wilcoxon
# 2 count CF Rhi 0.00470 0.028 0.0047 ** Wilcoxon
# 3 count CF WT 0.864 0.86 0.8643 ns Wilcoxon
# 4 count CK Rhi 0.00470 0.028 0.0047 ** Wilcoxon
# 5 count CK WT 0.0488 0.15 0.0488 * Wilcoxon
# 6 count Rhi WT 0.00470 0.028 0.0047 ** Wilcoxon在這個包中將差異檢測和出圖部分分離,方便選擇合適的圖表和差異可視化的策略。最終要的參數是result :為前面差異分析結果中的第一個表單,格式為第一列差異顯著字母,第二列分組標籤,列名,分組標籤。如果只是用可視化的函數,直接從外面導入類似數據即可。
# ?aovMuiBarPlot
###----使用方差檢驗結果和多重比較結果做展示:柱狀圖展示
PlotresultBar = aovMuiBarPlot(data = data_wt, i= 6,sig_show ="abc",result = result[[1]])
#提取結果
p <- PlotresultBar[[1]]
ggsave("1.png",p)
#提取方差分析或非參數檢驗結果PlotresultBar[[2]]
# ?aovMuiBarPlot
###----使用方差檢驗結果和多重比較結果做展示:柱狀圖展示
PlotresultBar = aovMuiBarPlot(data = data_wt, i= 6,sig_show ="line",result = result[[1]])
#提取結果
p <- PlotresultBar[[1]]
ggsave("2.png",p)
#提取方差分析或非參數檢驗結果
PlotresultBar[[2]]# ?aovMuiBarPlot
###----使用方差檢驗結果和多重比較結果做展示:柱狀圖展示
PlotresultBar = aovMuiBarPlot(data = data_wt, i= 5,sig_show ="line",result = result[[1]],ns =TRUE)
#提取結果
p <- PlotresultBar[[1]]
ggsave("3.png",p)
#提取方差分析或非參數檢驗結果
PlotresultBar[[2]]data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group,第三列以後就是測定或者收集的指標了
i:代表您想要進行統計的列,比如:第三列:i = 3
sig_show:代表差異展示方式;sig_show =」abc」是使用字母表示;sig_show =」line」是使用連線和星號表示;如果是NA,那麼就不顯示顯著性結果
result:代表顯著性差異分析結果,是一個數據框,第一列是顯著性差異字母,第二列是分組group
箱線圖展示方差分析或非參數檢驗結果(aovMuiBoxP)data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group,第三列以後就是測定或者收集的指標了
i:代表您想要進行統計的列,比如:第三列:i = 3
sig_show:代表差異展示方式;sig_show =」abc」是使用字母表示;sig_show =」line」是使用連線和星號表示;如果是NA,那麼就不顯示顯著性結果
result:代表顯著性差異分析結果,是一個數據框,第一列是顯著性差異字母,第二列是分組group
# ?aovMuiBoxP
# #使用案例
PlotresultBox = aovMuiBoxP(data = data_wt, i= 6,sig_show ="abc",result = result[[1]])
# 提取檢驗結果
PlotresultBox[[2]]
#提取圖片
p = PlotresultBox[[1]]
ggsave("4.png",p)# ?aovMuiBoxP
# #使用案例
PlotresultBox = aovMuiBoxP(data = data_wt, i= 6,sig_show ="line",result = result[[1]])
# 提取檢驗結果
PlotresultBox[[2]]
#提取圖片
p = PlotresultBox[[1]]
ggsave("5.png",p)# ?aovMuiBoxP
點柱圖-完美解決柱狀圖無法展示樣本信息的缺陷
# #使用案例
PlotresultBox = aovMuiBoxP(data = data_wt, i= 6,sig_show ="line",result = result[[1]],ns = TRUE)
# 提取檢驗結果
PlotresultBox[[2]]
#提取圖片
p = PlotresultBox[[1]]
ggsave("6.png",p)result= aovMcomper (data = data_wt, i= 6,method_Mc = "Tukey")
# # 提取多重比較結果
result[[1]]
PlotresultBox = aovMuiBoxBarP(data = data_wt, i= 6,sig_show ="abc",result = result[[1]],ns = TRUE)
#提取圖片
p = PlotresultBox[[1]]
ggsave("7.png",p)PlotresultBox = aovMuiBoxBarP(data = data_wt, i= 6,sig_show ="line",result = result[[1]],ns = FALSE)
#提取圖片
p = PlotresultBox[[1]]
ggsave("8.png",p)EasyStat包為什麼能完美解決差異分析呢.因為他比你想像的要強大。下面使用連線形式展示差異,顯著的差異按照標註星號,不顯著的標註ns。
PlotresultBox = aovMuiBoxBarP(data = data_wt, i= 6,sig_show ="line",result = result[[1]],ns = TRUE)
多指標模式多個指標同時做正態檢驗和方差齊性分析(MuiNorCV)
#提取圖片
p = PlotresultBox[[1]]
p
ggsave("9.png",p)這裡對多組數據進行分析,結果我是用T或F代表,方便閱讀。
data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group,第三列以後就是測定或者收集的指標了
num:代表您想要進行統計的列,這裡可以輸入多個列,只需要指定列號即可:例如:num = c(4:6)
method_cv:代表選擇方差齊性的方法,有兩種可供選擇:method_cv == 「bartlett.test」 ;method_cv == 「leveneTest」
dim(data_wt)
# ?MuiNorCV
# 使用案例
norCv = MuiNorCV(data = data_wt,num = c(4:10),method_cv = "leveneTest")
#展示正態檢驗和方差齊性結果
norCv這裡由於指標比較多,所以我將結果進行簡化,直接使用ture和false來提示大家,cor是正態性檢測組,cv是方差齊性檢測。
多個指標方差檢驗(MuiaovMcomper)data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group,第三列以後就是測定或者收集的指標了
num:代表您想要進行統計的列,這裡可以輸入多個列,只需要指定列號即可:例如:num = c(4:6)
method_Mc:選擇需要使用的多重比較方法,這裡又多種方法可供選擇:method_Mc = 「LSD」;method_Mc = 「SNK」;method_Mc = 「Duncan」;method_Mc =」scheffe」
# ? MuiaovMcomper
# #使用案例
result = MuiaovMcomper(data = data_wt,num = c(4:6),method_Mc = "Tukey")
#提取每個指標方差檢驗多重比較結果
result同樣,多個指標展示按照指標每列為一組檢測結果。
多個指標非參數檢驗(MuiKwWlx)data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group,第三列以後就是測定或者收集的指標了
num:代表您想要進行統計的列,這裡可以輸入多個列,只需要指定列號即可:例如:num = c(4:6)
# ? MuiKwWlx
# #使用案例
result = MuiKwWlx(data = data_wt,num = c(4:6))
#提取每個指標非參數檢驗多重比較結果
result結果和多組方差分析結果一樣。很好用於後面的出圖,同樣也適合自己導入數據,使用出圖
多組數據可視化差異分析結果:柱狀圖(MuiPlotresultBar)多組指標分開出圖,比較麻煩的是圖形的保存,如果還需要讓你一個一個保存圖片,那也是相當繁瑣的,所以這裡我設置了自動保存,也只有這種方式是自動保存,其他單個,多組分面圖形較少,所以就可以自己保存。
我讓該函數自動保存每個指標的出圖文件到當前文件夾中。這些文件以該指標名稱命名;
data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group,第三列以後就是妮妮測定或者收集的指標了
num:代表您想要進行統計的列,這裡可以輸入多個列,只需要指定列號即可:例如:num = c(4:6)
sig_show:代表差異展示方式;sig_show =」abc」是使用字母表示;sig_show =」line」是使用連線和星號表示;如果是NA,那麼就不顯示顯著性結果
result:代表顯著性差異分析結果,是一個數據框,每一列是顯著性標記字母,MuiKwWlx
# ?MuiPlotresultBar
多組數據可視化差異分析結果:箱線圖(MuiPlotresultBox)
# # #使用案例
result = MuiKwWlx(data = data_wt,num = c(4:6))
result
# #結果直接輸出到文件夾中
MuiPlotresultBar(data = data_wt,num = c(4:6),result = result ,sig_show ="line")我讓該函數自動保存每個指標的出圖文件到當前文件夾中。這些文件以該指標名稱命名;
data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group,第三列以後就是妮妮測定或者收集的指標了
num:代表您想要進行統計的列,這裡可以輸入多個列,只需要指定列號即可:例如:num = c(4:6)
sig_show:代表差異展示方式;sig_show =」abc」是使用字母表示;sig_show =」line」是使用連線和星號表示;如果是NA,那麼就不顯示顯著性結果
result:代表顯著性差異分析結果,是一個數據框,每一列是顯著性標記字母,MuiKwWlx```{R}
?MuiPlotresultBox使用案例result = MuiKwWlx(data = data_wt,num = c(4:8))result
#直接出圖到文件夾中MuiPlotresultBox(data = data_wt,num = c(4:8),result = result,sig_show =」abc」)
### 線柱圖
差異結果展示:分面展示柱狀圖:(FacetMuiPlotresultBar)
輸入和箱線圖一致
```{R}
# ?MuiPlotresultBox
#使用案例
result = MuiKwWlx(data = data_wt,num = c(4:8))
result
# #直接出圖到文件夾中
MuiPlotReBoxBar(data = data_wt,num = c(4:8),result = result,sig_show ="line")更新:
由於不同指標坐標軸範圍不同,分面添加顯著性標示會讓最高點的標示遮蓋,已解決
data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group,第三列以後就是妮妮測定或者收集的指標了
num:代表您想要進行統計的列,這裡可以輸入多個列,只需要指定列號即可:例如:num = c(4:6)
sig_show:代表差異展示方式;sig_show =」abc」是使用字母表示;sig_show =」line」是使用連線和星號表示;如果是NA,那麼就不顯示顯著性結果
result:代表顯著性差異分析結果,是一個數據框,每一列是顯著性標記字母,MuiKwWlx
ncol:代表分面展示每一行放幾張圖
# ?FacetMuiPlotresultBar
差異結果展示:分面展示箱線圖:(FacetMuiPlotresultBox)
# # #使用案例
result = MuiaovMcomper(data = data_wt,num = c(4:7),method_Mc = "Tukey")
result
result1 = FacetMuiPlotresultBar(data = data_wt,num = c(4:7),result = result,sig_show ="abc",ncol = 4 )
p <- result1[[1]]
ggsave("10.png",p)data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group,第三列以後就是妮妮測定或者收集的指標了
num:代表您想要進行統計的列,這裡可以輸入多個列,只需要指定列號即可:例如:num = c(4:6)
sig_show:代表差異展示方式;sig_show =」abc」是使用字母表示;sig_show =」line」是使用連線和星號表示;如果是NA,那麼就不顯示顯著性結果
result:代表顯著性差異分析結果,是一個數據框,每一列是顯著性標記字母,MuiKwWlx
ncol:代表分面展示每一行放幾張圖
# ?FacetMuiPlotresultBox
# #使用案例
result = MuiKwWlx(data = data_wt,num = c(4:7))
result
#
result1 = FacetMuiPlotresultBox(data = data_wt,num = c(4:7),result = result,sig_show ="abc",ncol = 4 )
p <- result1[[1]]
ggsave("11.png",p)使用兩種方法,我們可以對比非參數檢驗和方差檢驗結果是否一致
下面使用線柱圖展示# #使用案例
result = MuiKwWlx(data = data_wt,num = c(4:7))
result
#
result1 = FacetMuiPlotReBoxBar(data = data_wt,num = c(4:7),result = result,sig_show ="abc",ncol = 4 )
p <- result1[[1]]
ggsave("12.png",p)注意以上三種分面展示的目前僅支持字母標註顯著性,連線形式的尚未添加。
多個分組可視化:GroupBar使用這種方式可視化一定要注意,坐標軸量度,不同指標範圍不一樣,因此,單位差距極大的指標一起展示就不太好看了。其次,這裡使用line展示會非常混亂,所以我去除了line展示的方式,所以這裡沒有選擇,只能是默認的abc。但是我保留了這個參數,希望以後又更好的方式。
colnames(data_wt)
result = MuiKwWlx(data = data_wt,num = c(8:10))
result = GroupBar(data = data_wt,num = c(8:10),result = result,sig_show ="abc",ylimit = 1.2)
# output result
p <- result[[1]]
ggsave("13.png",p)這裡我想告訴大家,所有的出圖函數都可以提取數據,並且自己設計代碼出圖。
這裡我們提取數據,直接出圖也是可以的
A = result[[2]]
單個指標一體化分析(SingleStat)
p<-ggplot(A, aes(x=group , y=mean,group = name ))+
geom_bar(aes(colour= name,fill = name),stat = "identity", width = 0.9,position = "dodge") +
geom_errorbar(aes(ymin=mean - SD,
ymax=mean + SD,group = name),
colour="black",width=0.1,size = 1,position = position_dodge(.9))+
scale_y_continuous(expand = c(0,0))+#,limits = c(0,a)
labs(
y="count"
# y=name_i
# title = paste("Normality test",p1,"Homogeneity of variance",p2,sep = ":")
) +
geom_text(data=A, aes(x=group, y=mean +SD ,label=groups),position = position_dodge(.9),vjust = -1)+
guides(color=guide_legend(title = NULL),shape=guide_legend(title = NULL))
p
ggsave("14.png",p)這個函數可以將我們的目標列做正態檢驗和方差齊性,然後根據結果選擇方差檢驗或者多重比較方法,最後選擇自己需要的出圖方式和顯著性標記方式展示。
data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group,第三列以後就是妮妮測定或者收集的指標了
i:代表您想要進行統計的列,比如:第三列:i = 3
method_Mc:選擇需要使用的多重比較方法,這裡又多種方法可供選擇:method_Mc == 「LSD」;method_Mc == 「SNK」;method_Mc == 「Duncan」;method_Mc == 「scheffe」
plot:可以選擇需要的出圖類型,柱狀圖和箱線圖
# ?SingleStat
# # #使用案例
# #輸出結果第一個為圖片,第二個是統計結果,第三個是統計方法
result = SingleStat(data = data_wt,plot = "bar",method_Mc = "Tukey",i= 4,sig_show ="abc")
# #導出圖片
p = result[[1]]
p
ggsave("15.png",p)可以更換出圖方式,當然這裡會自動判斷使用方差分析,還是非參數檢驗。選擇結果會展示在結果的第三個列表中,可自行查看。
# ?SingleStat
# # #使用案例
# #輸出結果第一個為圖片,第二個是統計結果,第三個是統計方法
result = SingleStat(data = data_wt,plot = "box",method_Mc = "Tukey",i= 4,sig_show ="abc")
# 提取差異檢測結果
result[[2]]
# 提取差異檢測放啊
result[[3]]
# #導出圖片
p = result[[1]]
p
ggsave("16.png",p)# ?SingleStat
# # #使用案例
# #輸出結果第一個為圖片,第二個是統計結果,第三個是統計方法
result = SingleStat(data = data_wt,plot = "boxbar",method_Mc = "Tukey",i= 4,sig_show ="abc")
# 提取差異檢測結果
result[[2]]
# 提取差異檢測放啊
result[[3]]
# #導出圖片
p = result[[1]]
p
ggsave("17.png",p)![image]https://note.youdao.com/yws/public/resource/9141817b606527af013be70dc7713546/xmlnote/B92CE0A975AF4DE2BFFC81062FA275BE/50851)
多個指標一體化分析(MuiStat)實現了多個指標批量整體運行;這個函數可以將我們的目標列做正態檢驗和方差齊性,然後根據結果選擇方差檢驗或者多重比較方法,最後選擇自己需要的出圖方式和顯著性標記方式展示。
# ?MuiStat
#使用案例
result = MuiStat(data = data_wt,num = c(4:7),method_cv = "leveneTest",method_Mc = "Tukey",sig_show = "abc",ncol = 4,plot = "box",plottype = "mui")
p <- result[[1]]
# 提取方差檢測的列
result$aov
# 提取f非參數檢測的列
result$wlx
# 提取差異檢測結果
result$table
ggsave("18.png",p)柱狀圖
result = MuiStat(data = data_wt,num = c(4:7),method_cv = "leveneTest",method_Mc = "Tukey",sig_show = "abc",ncol = 4,plot = "bar",plottype = "mui")
p <- result[[1]]
ggsave("19.png",p)result = MuiStat(data = data_wt,num = c(4:7),method_cv = "leveneTest",method_Mc = "Tukey",sig_show = "abc",ncol = 4,plot = "boxbar",plottype = "mui")
p <- result[[1]]
ggsave("20.png",p)data:輸入數據框,第一列為樣本編號,第二列為分組,注意分組標籤必須設定為group,第三列以後就是妮妮測定或者收集的指標了
num:代表您想要進行統計的列,這裡可以輸入多個列,只需要指定列號即可:例如:num = c(4:6)
method_cv:代表選擇方差齊性的方法,有兩種可供選擇:method_cv == 「bartlett.test」 ;method_cv == 「leveneTest」
method_Mc:選擇需要使用的多重比較方法,這裡又多種方法可供選擇:method_Mc == 「LSD」;method_Mc == 「SNK」;method_Mc == 「Duncan」;method_Mc == 「scheffe」
plot:可以選擇需要的出圖類型,柱狀圖和箱線圖
sig_show:代表差異展示方式;sig_show =」abc」是使用字母表示;sig_show =」line」是使用連線和星號表示;如果是NA,那麼就不顯示顯著性結果
ncol:代表分面展示每一行放幾張圖
plottype:輸出圖形是分面展示plottype =mui,還是單張展示:plottype == 「single」
添加主編微信 加入群聊關於微生信生物 你想要的都在這裡微生信生物