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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

用计算机图形学画字母,r 语言快速出图——单因素方差带字母显著性标记

發布時間:2024/10/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用计算机图形学画字母,r 语言快速出图——单因素方差带字母显著性标记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相信帶字母的顯著性標記圖大家都不會陌生,在許多文獻中多可以看到類似的圖。首先來看看它長啥樣

用不同的字母來表示顯著性,字母相同不顯著

不管是在月末組會匯報,還是自己寫文章過程中都會用到。今天就一起來學一下怎么做。

首先學一個概念數據可視化,

可視化:可視化(Visualization)是利用計算機圖形學和技術,將數據轉換成圖形或圖像在屏幕上顯示出來,再進行交互處理的理論、方法和技術。

大概意思就是說一圖勝千言。看看那些好雜志的文章,不得不承認人家的圖確實簡潔好看,言簡意賅。哎!作圖也是有功力的。多向大佬膜拜膜拜,哈哈哈

回到正題,這類圖該如何做呢!大概有兩種做法:一種是利用統計軟件(eg:SPSS、DPS等)先分析得到結果,再利用其他生物繪圖工具(eg:EXCEL工具)做出柱狀圖,再把字母和誤差線加上添加;第二種就是利用R語言這類專業用代碼一鍵出圖。首先我會先用R語言進行單因素方差分析。然后再介紹一款超級簡單的統計軟件DPS做一遍。

R語言

準備工作

預裝R軟件

預裝R-studio

整理好的數據表

可以用EXCEL表格工具整理好,保存為.txt文件

數據格式:第一列為分組信息,第二列為不同觀測的值,若有多列向后加即可。eg:假如還有株高、鮮重等指標。依次加到后面即可

代碼部分

#加載我的工作目錄

setwd("G:/我的堅果云/研究生/實驗數據")

#讀取數據,換成自己的文件名即可

data

#這一句的意思是:將你的分組信息轉化為factor,不然軟件在運算過程種識別不了

data$處理

#查看導入表格中發病率這一列的數據類型

class(data$處理)

#這里出現 factor 就可以下一步了

#方差齊性檢驗

#法1bartlett.test

nom

nom

#法2

install.packages("car")

library(car)

nom1

nom$p.value

#最后兩個的p.value大于0.05 說明方差是齊性,可以進行下一步分析

# 單因素方差分析,整體來看差異顯著

oneway

anova(oneway)

anova(oneway)結果

#多重比較

# LSD法(Fisher’s Least Significant Difference)

# LSD法檢驗處微小的差異,比較方便的是直接得出顯著行標記,不需人工標記

install.packages("agricolae")

library("agricolae")

out

out

out結果

嗯,到這分析已經結束了。下面開始繪制圖形

#整理繪圖需要的表格

mar

rownamemar

newmar

sort

# 將groups的數據框按列名排序,目的是保持與均值標準差的數據一一對應

rowname

mean

sd

marker

plotdata

plotdata

plotdata結果

install.packages("ggplot2")

library("ggplot2")

p1

p1

p2

p3

p3

p4

p4

p5

p5

#發現沒有ggplot2的作圖方式挺好玩的,就像玩俄羅斯方塊一樣,一層一層往上加,

#更改y軸顯示范圍,這里的expand默認為TRUE

mytheme

axis.text =element_text(size=12),

panel.grid.major =element_line(color ="white"),

panel.grid.minor =element_line(colour = "white"),

axis.text.x =element_text(size = 12,angle=0,vjust=0,hjust=0,color = "black"),

axis.text.y =element_text(size = 12,color ="black"),)

p5+mytheme

coord_cartesian(ylim = c(0,60),expand =FALSE)的expand改為TRUE。

ggsave("發病率.pdf", width = 10, height= 10, units = "cm")

end

最后結果圖

有了這套代碼,小伙伴就可以根據自己的需要僅更改幾個地方就可以完成分析了。

如何根據自己的需要改呢

還是用上面的數據。比如我現先還要做病情指數的分析

setwd("G:/我的堅果云/研究生/實驗數據")

data

data$處理

class(data$處理)

#方差齊性檢驗

#法1bartlett.test

nom

nom

#法2

install.packages("car")

library(car)

nom1

nom$p.value

#nom$p.value大于0.05 說明方差是齊性

# 單因素方差分析,整體來看差異顯著

oneway

anova(oneway)

#多重比較

# LSD法(Fisher’s Least Significant Difference)

# LSD法檢驗處微小的差異,比較方便的是直接得出顯著行標記,不需人工標記

install.packages("agricolae")

library("agricolae")

out

out

mar

rownamemar

newmar

sort

# 將groups的數據框按列名排序,目的是保持與均值標準差的數據一一對應

rowname

mean

sd

marker

plotdata

plotdata

#可視化作圖

install.packages("ggplot2")

library("ggplot2")

p1

p1

p2

p3

p3

p4

p4

p5

p5

#更改y軸顯示范圍,這里的expand默認為TRUE

mytheme

axis.text =element_text(size=12),

panel.grid.major =element_line(color ="white"),

panel.grid.minor =element_line(colour = "white"),

axis.text.x =element_text(size = 12,angle=0,vjust=0,hjust=0,color = "black"),

axis.text.y =element_text(size = 12,color ="black"),)

p5+mytheme

結果

這里發現Y范圍范圍太大,可以將p5

可以看我主要改了哪里,然后對應的改為自己的數據即可。

其實R語言沒有想象中那么難。這話從一個學了兩個月新手嘴里說出,是有點“飄”了,用老家的方言說就是“你太刨了”。我知道可能會被打,新手上路,多多包涵。

有時候知道這行代碼什么意思就可以了,用的時候搜別人寫過的代碼套自己的就可以了。這套代碼我也是網上搬過來的,然后花了一個下午把它搞明白。搞明白之后最大的好處就是,一分鐘內我就可以做出一張漂亮的單因素方差分析圖。也算值了

用DPS做方差分析

將excel表格中數據復制粘貼過來就可以了

數據格式:第一列為分組信息;后面為重復1、重復2、重復3

比較麻煩的是,在excel中習慣一般都是用列來表示重復,DPS不一樣恰好相反,可以在excel先復制,粘貼時選擇轉置,在粘貼到DPS中。

粘貼好數據后,選擇試驗統計——完全隨機設計——單因素實驗統計分析——選擇兩兩比較的方法,可以指第一列的名稱,也可以不指定。

結果如圖

根據上述結果,用excel繪制柱型圖,添加誤差線,顯著性字母。

具體方法自行百度,

之所以選擇學R語言,就是因為我懶,典型肥宅,明明可以用軟件解決的事,為啥在那里死磕呢?

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的用计算机图形学画字母,r 语言快速出图——单因素方差带字母显著性标记的全部內容,希望文章能夠幫你解決所遇到的問題。

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