劉小澤寫(xiě)于18.8.29-30
R函數(shù)是什么痹栖?
其實(shí)就是對(duì)一些編程語(yǔ)言的封裝亿汞,編寫(xiě)函數(shù)可以減少重復(fù)代碼的書(shū)寫(xiě),讓R腳本可以簡(jiǎn)潔運(yùn)行揪阿,并且可以快速進(jìn)行傳播疗我。
一般一個(gè)函數(shù)可以完成一項(xiàng)特定功能咆畏,統(tǒng)計(jì)中的函數(shù)比如sum、var吴裤、mean等旧找,都有自己的工作范圍
查看函數(shù)源代碼
沒(méi)有被封裝的:敲函數(shù)名不加括號(hào)就可以查看
自定義的函數(shù)
- 函數(shù)名稱(chēng):與功能相關(guān),必須字母開(kāi)頭
- 函數(shù)聲明:function聲明麦牺,就是告訴R里面的是整套函數(shù)
- 函數(shù)參數(shù)
- 函數(shù)體:最后需要用
return
返回結(jié)果钮蛛,也就是我們用這個(gè)函數(shù)的目的
myfunc <- function (選項(xiàng)參數(shù)) {
函數(shù)體
}
# 不同選項(xiàng)之間用逗號(hào)分隔,選項(xiàng)參數(shù)之間用等號(hào)剖膳,可以只寫(xiě)選項(xiàng)愿卒,但如果有參數(shù)的話需要標(biāo)明參數(shù)默認(rèn)值
# 大括號(hào)中的函數(shù)體是最重要的部分,會(huì)包含許多邏輯判斷潮秘、循環(huán)等
一定會(huì)用到的循環(huán)判斷
常用的格式
- if條件判斷,如
score=70;ifelse(score>60, print("pass"), print("fail"))
- for循環(huán)易结,如
for (i in 1:10) {print ("hello, world")}
- while循環(huán)枕荞,如
i=1;while (i <= 10) {print("hello, world"); i=i+1}
- switch語(yǔ)句
循環(huán)語(yǔ)句包括?
- 條件判斷T/F搞动?
- 執(zhí)行循環(huán)的結(jié)構(gòu)
- 表達(dá)式
輸入數(shù)據(jù)類(lèi)型
簡(jiǎn)單句幾個(gè)例子
- 向量:sum躏精、mean、sd鹦肿、range矗烛、median、sort箩溃、order等
- 矩陣或數(shù)據(jù)框:cbind瞭吃、rbind等
- 數(shù)值矩陣:heatmap等
R初始加載的函數(shù)有1200多個(gè),很難也沒(méi)必要全部記住涣旨,只需要了解他們的規(guī)律歪架,看他們的命令基本就能明白意思,具體的使用就需要知道函數(shù)的選項(xiàng)霹陡、參數(shù)使用和蚪。選項(xiàng)負(fù)責(zé)解決做還是不做的問(wèn)題,參數(shù)解決做的話做多少的問(wèn)題烹棉。有時(shí)候?yàn)槭裁磿?huì)感覺(jué):明明一件感覺(jué)很簡(jiǎn)單的工作攒霹,腦子里想的很明白,第一步第二步浆洗,然后實(shí)際用R卻無(wú)從下手催束,最后默默用了excel…就是因?yàn)閷?duì)選項(xiàng)參數(shù)不了解,也就是利器雖有辅髓,不在你手~
選項(xiàng)參數(shù)
與linux及其他的編程語(yǔ)言類(lèi)似
-
輸入控制
一般放在第一位泣崩,告訴我們函數(shù)能接受哪種類(lèi)型數(shù)據(jù)
file:后接一個(gè)文件【比如read.table少梁、read.csv等】; data:輸入一個(gè)數(shù)據(jù)框矫付; x:?jiǎn)为?dú)的一個(gè)對(duì)象凯沪,一般是向量,但也可以是矩陣/列表买优; x妨马,y:需要兩個(gè)輸入變量; x杀赢,y烘跺,z:需要三個(gè)輸入變量; formula:公式【如:lm等統(tǒng)計(jì)函數(shù)】 na.rm:去掉缺失值 ...:沒(méi)有輸入限制【如:data.frame】
輸出控制
-
調(diào)節(jié)
- 根據(jù)名字判斷選項(xiàng)作用:
color:控制顏色 font:字體 select:與選擇有關(guān) lty:這是一類(lèi)簡(jiǎn)寫(xiě)【line type的簡(jiǎn)寫(xiě)】 lwd:line width method:算法
- 選項(xiàng)接受哪些參數(shù)
main:設(shè)置標(biāo)題用的脂崔,因此要求字符串【不能是向量】 na.rm:只能是T/F這樣的邏輯值 axis:其中的side控制坐標(biāo)軸方向【方向只有四個(gè)滤淳,取值只能是1-4】 fig:圖形的位置【需要給出四個(gè)元素的向量,定位圖片四個(gè)角】
數(shù)學(xué)統(tǒng)計(jì)相關(guān)函數(shù)
數(shù)據(jù)統(tǒng)計(jì)是數(shù)據(jù)分析的基礎(chǔ)砌左,包括了sum脖咐、mean、方差var汇歹、標(biāo)準(zhǔn)差sd屁擅、對(duì)數(shù)log、指數(shù)exp产弹、絕對(duì)值abs等
如果再結(jié)合apply家族函數(shù)派歌,就能對(duì)矩陣、數(shù)據(jù)框的行/列進(jìn)行統(tǒng)計(jì)
概率分布
這些概率分布前面加上d痰哨、p胶果、q、r就構(gòu)成了函數(shù)
其中作谭,d表示密度稽物,p表示分布(你會(huì)想:分布不是distribution嗎?沒(méi)錯(cuò)折欠,但是密度density出現(xiàn)的比較早贝或,d被搶占了)、q表示分位數(shù)(quantile)锐秦、r表示隨機(jī)數(shù)(random)
比如像rnorm咪奖、runif、dexp等
單是正態(tài)分布的四種情況dorm酱床、pnorm羊赵、rnorm、qnorm,除了都有的mean昧捷、sd設(shè)置以外闲昭,其余的參數(shù)設(shè)置還是不盡相同
生成隨機(jī)數(shù)runif
隨機(jī)生成0-1的數(shù),runif(n) n是個(gè)數(shù)
如果想生成1以上的數(shù)靡挥,可以用runif(20)*10就生成了20個(gè)大于1的個(gè)位數(shù)序矩;但是這樣做是很麻煩的。因此再學(xué)習(xí)runif的幫助信息跋破,發(fā)現(xiàn)有min簸淀、max的設(shè)置,因此直接runif(20,min=1,max=10)
隨機(jī)數(shù)的特點(diǎn)就是“隨機(jī)”毒返,每次的數(shù)肯定不同租幕,但有時(shí)為了重復(fù)驗(yàn)證,需要同樣的“隨機(jī)數(shù)”拧簸,因此劲绪,可以在runif之前用set.seed()
設(shè)定一下,括號(hào)中給一個(gè)任意數(shù)字盆赤,就可以綁定這一組隨機(jī)數(shù)到我們這里的seed珠叔,以后再想看這次的隨機(jī)數(shù),就再次輸入set.seed(之前的隨機(jī)數(shù))弟劲,再運(yùn)行即可
描述性統(tǒng)計(jì)—獲得數(shù)據(jù)的簡(jiǎn)歷
summary
運(yùn)行就能對(duì)數(shù)據(jù)集得到詳細(xì)統(tǒng)計(jì)【最值、四分位數(shù)姥芥、數(shù)值型變量均值(或因子/邏輯向量的頻數(shù)統(tǒng)計(jì))】fivenum
直接返回最值兔乞、上/下分位數(shù)、中位數(shù)Hmisc::describe
返回觀測(cè)值凉唐、缺失值庸追、唯一值的數(shù)目、均值台囱、分位數(shù)淡溯、5個(gè)最大值、5個(gè)最小值pastecs::stat.desc
設(shè)置basic=TRUE簿训,返回基本的統(tǒng)計(jì)(觀測(cè)值咱娶、空值、最值强品、范圍膘侮、總數(shù));設(shè)置desc=TRUE的榛,返回描述性統(tǒng)計(jì)(中位數(shù)琼了、平均值、標(biāo)準(zhǔn)誤SE夫晌、置信區(qū)間CI雕薪、p值昧诱、方差var、標(biāo)準(zhǔn)偏差dev所袁、方差系數(shù)coef.var)盏档;設(shè)置norm=T,返回標(biāo)準(zhǔn)分布統(tǒng)計(jì)(skew纲熏、kurtosis妆丘、normtest)psych::describe
設(shè)置trim=0.1就能去除最低/最高10%的部分-
【對(duì)數(shù)據(jù)分組描述】
MASS::aggregate
,將分組信息通過(guò)一個(gè)列表指定出來(lái)>aggregate(mtcars[c("mpg","disp","hp")],by=list(Cylinder=mtcars$cyl),mean) #這里就是根據(jù)mtcars中的cyl氣缸數(shù)局劲,對(duì)mpg勺拣、disp、hp進(jìn)行統(tǒng)計(jì)鱼填,并計(jì)算他們的平均數(shù) Cylinder mpg disp hp 1 4 26.66364 105.1364 82.63636 2 6 19.74286 183.3143 122.28571 3 8 15.10000 353.1000 209.21429 #結(jié)果發(fā)現(xiàn)8缸的車(chē)比4缸馬力(hp)大了2.5倍左右药有,但是相同油量它行駛的路程只有4缸的0.57倍
-
doBy::summaryBy
> summaryBy(mpg+disp+hp ~ cyl, data=mtcars, FUN=mean) cyl mpg.mean disp.mean hp.mean 1 4 26.66364 105.1364 82.63636 2 6 19.74286 183.3143 122.28571 3 8 15.10000 353.1000 209.21429
但是,這個(gè)函數(shù)一次只能返回一個(gè)統(tǒng)計(jì)值苹丸,如果想一次統(tǒng)計(jì)既分了組愤惰,又做多個(gè)統(tǒng)計(jì),那么可以用psych::describe.by
-
psych::describe.by
> describeBy(mtcars,list(cylinder=mtcars$cyl)) # 優(yōu)點(diǎn)是:可以進(jìn)行分組赘理;缺點(diǎn)就是:不能使用自定義的函數(shù)
如果兩個(gè)包中的函數(shù)同時(shí)被載入宦言,比如這里的describe,那么后導(dǎo)入的包函數(shù)會(huì)覆蓋前面的
頻數(shù)統(tǒng)計(jì)~哦應(yīng)該是統(tǒng)計(jì)出現(xiàn)次數(shù)
比如想比較不同組之間的差異商模,就需要利用頻數(shù)奠旺;但分組怎么來(lái)的呢?借助因子施流!
如何分組响疚?
如果一個(gè)數(shù)據(jù)本身是因子的話,就可以直接分組瞪醋,例如mtcars中的cyl氣缸數(shù)統(tǒng)計(jì)值
##如果原數(shù)據(jù)就是因子型
> mtcars$cyl = as.factor(mtcars$cyl) #將cyl【轉(zhuǎn)為因子】
> split(mtcars,mtcars$cyl) #split函數(shù)根據(jù)cyl因子【進(jìn)行分組】
##如果原數(shù)據(jù)不是因子型
#比如mtcars中的mpg忿晕,【利用cut函數(shù)】(他的介紹就是Convert Numeric to Factor)
> cut(mtcars$mpg,c(seq(10,40,10)))#指定切割區(qū)間,10-40范圍中银受,每隔10切一次践盼,然后把mpg的原始數(shù)據(jù)歸類(lèi)進(jìn)去
#將剛才cut的結(jié)果,【結(jié)合table進(jìn)行頻數(shù)統(tǒng)計(jì)】宾巍,就實(shí)現(xiàn)了分組
> tmp5 = cut(mtcars$mpg,c(seq(10,40,10))) %>% table()
.
(10,20] (20,30] (30,40]
18 10 4
分組后進(jìn)行統(tǒng)計(jì)宏侍?
#有了table計(jì)算出來(lái)的頻數(shù),如果要計(jì)算頻率分布蜀漆,可以用prop.table
> prop.table(tmp5)
.
(10,20] (20,30] (30,40]
56.25 31.25 12.50
#計(jì)算百分比谅河,只需要在后面乘以100即可
#######################以上是一維的表格統(tǒng)計(jì)#####################
#先生成二維數(shù)據(jù)框,可以使用table或者xtabs
> library(vcd)
> table(Arthritis$Treatment,Arthritis$Improved)
None Some Marked
Placebo 29 7 7
Treated 13 7 21
#或者也可以
> with(Arthritis,{table(Treatment,Improved)})
Improved
Treatment None Some Marked
Placebo 29 7 7
Treated 13 7 21
#最方便應(yīng)該是xtabs
> tmp6 = xtabs(~Treatment+Improved, Arthritis)
Improved
Treatment None Some Marked
Placebo 29 7 7
Treated 13 7 21
#再對(duì)列聯(lián)表進(jìn)行統(tǒng)計(jì)頻數(shù)【margin.table】
> margin.table(tmp6,1) #其中1指行,表示對(duì)行進(jìn)行頻數(shù)統(tǒng)計(jì)绷耍;2指列
Treatment
Placebo Treated
43 41
#統(tǒng)計(jì)頻率【prop.table】
> prop.table(tmp6,1)
Improved
Treatment None Some Marked
Placebo 0.6744186 0.1627907 0.1627907
Treated 0.3170732 0.1707317 0.5121951
#將計(jì)算的邊際頻數(shù)添加到二聯(lián)表中【addmargins】可以只添加行或者列
> addmargins(tmp6,2)
Improved
Treatment None Some Marked Sum
Placebo 29 7 7 43
Treated 13 7 21 41
#要做三維的列聯(lián)表吐限,只需要使用【xtabs+ftable】
> xtabs(~Treatment+Improved+Sex, Arthritis) %>% ftable()
Sex Female Male
Treatment Improved
Placebo None 19 10
Some 7 0
Marked 6 1
Treated None 6 7
Some 5 2
Marked 16 5
獨(dú)立性檢驗(yàn)是什么???
前提要有頻數(shù)統(tǒng)計(jì)信息褂始,根據(jù)它判斷兩類(lèi)因子彼此之間有多大的緣分(相關(guān)性)诸典;獨(dú)立就是說(shuō)二者無(wú)緣(唉!)比如一種氣味只吸引男性崎苗,那么對(duì)這種氣味來(lái)講狐粱,男女之間就是獨(dú)立的
先要知道假設(shè)檢驗(yàn)(Hypothesis testing)
它根據(jù)一定的假設(shè)條件,由樣本估計(jì)總體胆数。設(shè)定假設(shè):
1.原假設(shè)(兩個(gè)因子無(wú)關(guān)=》沒(méi)有發(fā)生臆想的事)肌蜻;2.被擇假設(shè)(兩個(gè)因子有關(guān)=〉真的發(fā)生了預(yù)測(cè)的事??)。這兩種假設(shè)在邏輯上互補(bǔ)
https://www.douban.com/group/topic/116857671/
p-value:(Probability)當(dāng)原假設(shè)為真時(shí)必尼,得到的最大的檢驗(yàn)概率蒋搜。
一般閾值?定為5%∨欣颍【不是絕對(duì)豆挽,如果數(shù)據(jù)噪音比較大,可以稍微放寬限制券盅,設(shè)為10%帮哈;如果想再精細(xì)化數(shù)據(jù)進(jìn)行檢測(cè),就可以設(shè)為1%】
當(dāng)?shù)玫降膒值小于這個(gè)?值時(shí)锰镀,拒絕原假設(shè)但汞。一句話,p值越小互站,越能拒絕原假設(shè)
卡方檢驗(yàn)chiseq.test
根本思想就是在于比較理論頻數(shù)和實(shí)際頻數(shù)的吻合程度
## tmp6是上面得到的improved與treatment的頻數(shù)關(guān)系表
> chisq.test(tmp6)
Pearson's Chi-squared test
data: tmp6
X-squared = 13.055, df = 2, p-value = 0.001463
#p值明顯小于5%,因此treatment與improved是有關(guān)的
## 再看一下improved與sex是否有聯(lián)系
> tmp7 = xtabs(~Improved+Sex, Arthritis)
> chisq.test(tmp7)
Pearson's Chi-squared test
data: tmp7
X-squared = 4.8407, df = 2, p-value = 0.08889
#p值大于5%僵缺,因此二者沒(méi)有關(guān)系
Fisher精確檢驗(yàn)
它比較適用于小樣本胡桃,僅能用于二維列聯(lián)表中,行和列相互獨(dú)立磕潮。計(jì)算每一種可能的概率翠胰,然后合計(jì)假設(shè)檢驗(yàn)情況下的概率
Cochran-Mantel-Haenszel檢驗(yàn)
原理:需要三個(gè)變量,假設(shè):前兩個(gè)變量分別與第三個(gè)變量相比自脯,都是獨(dú)立的
【注意】三個(gè)變量的順序?qū)τ诮Y(jié)果的影響很重要
#建立一個(gè)Improved和Treatment在Sex基礎(chǔ)上的列聯(lián)表
> tmp8 = xtabs(~Improved+Treatment+Sex, Arthritis)
> mantelhaen.test(tmp8)
Cochran-Mantel-Haenszel test
data: tmp8
Cochran-Mantel-Haenszel M^2 = 14.632, df = 2, p-value = 0.0006647
#p值小于5%之景,說(shuō)明Improved+Treatment與Sex相比都是獨(dú)立的
#再建立一個(gè)Treatment和Sex在Improved基礎(chǔ)上的列聯(lián)表
> xtabs(~Treatment+Sex+Improved,Arthritis) %>% mantelhaen.test()
Mantel-Haenszel chi-squared test with continuity correction
data: .
Mantel-Haenszel X-squared = 2.0863, df = 1, p-value = 0.1486
#結(jié)果表示Treatment和Sex不全是獨(dú)立的
相關(guān)性分析-測(cè)測(cè)緣分幾何
衡量指標(biāo)
Pearson相關(guān)系數(shù)、Spearman膏潮、Kendall锻狗、偏相關(guān)、多分格(polychoric)、多系列(polyserial)相關(guān)系數(shù)
相關(guān)函數(shù)1 cor()
可以指定method=Person/Spearman/Kendall轻纪。默認(rèn)Person
結(jié)果產(chǎn)生一個(gè)對(duì)角矩陣油额,相關(guān)系數(shù)0-1之間,正負(fù)號(hào)表示正相關(guān)還是負(fù)相關(guān)
相關(guān)函數(shù)2 cov()
計(jì)算協(xié)方差刻帚,即兩個(gè)變量的總體誤差潦嘶。計(jì)算偏相關(guān)時(shí)需要用到協(xié)方差結(jié)果
它反映的結(jié)果和cor()一致
如果直接使用cor()或cov(),得到的結(jié)果是所有樣本的相關(guān)性崇众,如果想要檢測(cè)某幾個(gè)樣本的相關(guān)性掂僵,可以這樣:
> a1=state.x77[,c(2,3,6)]
> b1=state.x77[,c(5,7)]
> cor(a1,b1)
Murder Frost
Income -0.2300776 0.2262822
Illiteracy 0.7029752 -0.6719470
HS Grad -0.4879710 0.3667797
除了Person/Spearman/Kendall這三個(gè),還想計(jì)算其他的怎么辦顷歌?【用擴(kuò)展包】
比如計(jì)算偏相關(guān):用pcor(u, S)
第一個(gè)參數(shù)u:一組數(shù)字組成的向量(前兩個(gè)數(shù)字是必需的計(jì)算相關(guān)的列號(hào)锰蓬,其余數(shù)字是作為輔助、參考的列號(hào))衙吩;
第二個(gè)參數(shù)S:cor()計(jì)算出的協(xié)方差結(jié)果
# 先看下state.x77的列名
> colnames(state.x77)
[1] "Population" "Income" "Illiteracy" "Life Exp" "Murder" "HS Grad" "Frost"
[8] "Area"
#想著重看一下Illiteracy和Murder之間的相關(guān)性互妓,并且采用Population、Income坤塞、HS Grad作為參考
> pcor(c(3,5,1,2,6),cov(state.x77))
[1] 0.5989741 #相關(guān)性還比較高
相關(guān)性檢驗(yàn)-分析完了冯勉,不得檢驗(yàn)看看?
比如上面??計(jì)算出來(lái)的相關(guān)性有的在0.6/0.7以上摹芙,我們感覺(jué)比較高灼狰,那么到底是真高還是我們的幻覺(jué)?這里就需要一步驗(yàn)證
其實(shí)我們上面獨(dú)立性檢驗(yàn)也是需要分析(算出p值)+驗(yàn)證(與?比較)浮禾,只不過(guò)過(guò)程簡(jiǎn)單就一步到位
檢驗(yàn)?zāi)骋惶囟ńM的相關(guān)性
使用cor.test()交胚,需要四個(gè)較為重要的選項(xiàng)參數(shù)
- x、y是需要檢測(cè)相關(guān)性的變量(要求長(zhǎng)度一致)
- alternative:可選"two.sided", "greater" or "less"盈电,雙側(cè)檢驗(yàn)還是單側(cè)
分別表示同時(shí)檢測(cè)正負(fù)相關(guān)蝴簇、正相關(guān)、負(fù)相關(guān) - method:與cor函數(shù)一樣匆帚,Person/Spearman/Kendall三個(gè)選項(xiàng)【可縮寫(xiě)】
> cor.test(state.x77[,3],state.x77[,5],alternative = "two.sided",method="p")
Pearson's product-moment correlation
data: state.x77[, 3] and state.x77[, 5]
t = 6.8479, df = 48, p-value = 1.258e-08 #p遠(yuǎn)小于5%熬词,可以拒絕原假設(shè)
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval: #置信區(qū)間
0.5279280 0.8207295
sample estimates:
cor
0.7029752 #也給出了相關(guān)系數(shù)
cor.test()除了計(jì)算p、cor以外吸重,還給出了置信區(qū)間(95 percent confidence interval)
置信區(qū)間:算出一個(gè)計(jì)算的概率發(fā)生的范圍互拾,判斷我們算的這個(gè)概率是否真實(shí)有效
比如:2018年9月新iPhone的最大6.5寸叫什么名字?綜合考慮各種曝光率推測(cè)嚎幸,叫XL的可能性為85%颜矿,而置信水平0.95以上的置信區(qū)間算出來(lái)是80%-90%,那么這個(gè)名字“XL”的真實(shí)度有95%以上的幾率落在80%-90%之間嫉晶。之前得到的85%落在這個(gè)范圍內(nèi)骑疆,因此之前推測(cè)的85%可能性為假的概率只有不到5%
同時(shí)檢測(cè)多組相關(guān)性
cor.test()
一次只能檢驗(yàn)一組變量田篇,如果有多組就比較麻煩,可以使用psych::corr.test【不難發(fā)現(xiàn)封断,它多了一個(gè)r斯辰,這個(gè)就是遞歸recursive的意思】
使用很簡(jiǎn)單,直接corr.test(矩陣)
即可坡疼,不僅可以計(jì)算相關(guān)系數(shù)彬呻,還給出了檢測(cè)值【校正過(guò)的】
偏相關(guān)檢驗(yàn)
可以用ggm::pcor.test()
#先利用pcor計(jì)算偏相關(guān)系數(shù)
p1 = pcor(c(3,5,1,2,6),cov(state.x77))
#需要三個(gè)選項(xiàng)參數(shù):
# r:pcor計(jì)算的偏相關(guān)系數(shù)
# q:需要控制的變量數(shù)(就是除了必需的那兩個(gè)以外還剩幾個(gè))這里是1,2柄瑰,6這三個(gè)
# n:樣本數(shù) 【用nrow統(tǒng)計(jì)一下行數(shù)】這里是50
> pcor.test(p1,3,50)
$tval #t檢驗(yàn)
[1] 5.01773
$df #自由度
[1] 45
$pvalue
[1] 8.671525e-06
分組數(shù)據(jù)相關(guān)性檢驗(yàn)
經(jīng)常會(huì)用到對(duì)兩個(gè)組進(jìn)行的檢驗(yàn)闸氮,比如處理組與對(duì)照組
可以使用t檢驗(yàn)也叫做student (Student's t test)【為什么叫學(xué)生,這里有一個(gè)小故事可以去查一下】教沾,是用t分布理論來(lái)推論差異發(fā)生的概率蒲跨,從而比較兩個(gè)平均數(shù)的差異是否顯著。主要用于樣本含量較惺诜(例如n<30)或悲,總體標(biāo)準(zhǔn)差σ未知的正態(tài)分布
兩個(gè)組之間比較 t.test
#格式是t.test(y~x)
#y是數(shù)字型變量,x是因子型變量
> t.test(Prob ~ So, UScrime)
Welch Two Sample t-test
data: Prob by So
t = -3.8954, df = 24.925, p-value = 0.0006506 #p值很小堪唐,可以推翻原假設(shè)(So代表的南方與非南方地區(qū)的Prop值有相關(guān)性)
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.03852569 -0.01187439
sample estimates:
mean in group 0 mean in group 1
0.03851265 0.06371269
多個(gè)組之間比較
數(shù)據(jù)滿(mǎn)足正態(tài)分布巡语,可以用方差分析
-
不滿(mǎn)足正態(tài)分布,可以用非參數(shù)檢驗(yàn)
非參數(shù)檢驗(yàn):Nonparametric tests淮菠,當(dāng)總體方差未知或知道較少的情況下男公,用樣本數(shù)據(jù)對(duì)總體的分布進(jìn)行推斷
參數(shù)檢驗(yàn):總體分布已知(比如滿(mǎn)足正態(tài)分布),對(duì)總體分布的參數(shù)如均值合陵、方差等進(jìn)行推斷
數(shù)據(jù)類(lèi)型 | 非參數(shù)檢驗(yàn) | 參數(shù)檢驗(yàn) |
---|---|---|
單樣本 | Wilcoxon符號(hào)秩和檢驗(yàn) Mann–Whitney U 檢驗(yàn) | 單樣本t檢驗(yàn) |
配對(duì)樣本 | Wilcoxon配對(duì)符號(hào)秩和檢驗(yàn) | 配對(duì)t檢驗(yàn) |
兩獨(dú)立樣本 | Wilcoxon秩和檢驗(yàn) | 兩獨(dú)立樣本t檢驗(yàn) |
多組獨(dú)立樣本 | Kruskal-Wallis H 檢驗(yàn) | 單因素方差分析 |
隨機(jī)區(qū)組 | Friedman檢驗(yàn) | 兩因素?zé)o交互作用方差分析 |
做個(gè)圖枢赔?
圖片最大的價(jià)值在于促使我們發(fā)現(xiàn)從未預(yù)料到的事情 - John Tukey
四個(gè)作圖系統(tǒng)
- 基礎(chǔ)繪圖:
ls("package:graphics")
顯示內(nèi)置的作圖函數(shù),demo("graphics")
展示 - lattice包拥知、
- ggplot2包踏拜、
- grid包
難點(diǎn)--輸入什么樣的數(shù)據(jù)
散點(diǎn)圖要求x、y坐標(biāo)低剔;
直方圖(圖形不是連貫的速梗,是分組的)需要因子型變量;
熱圖的各個(gè)色塊組成就像一個(gè)矩陣户侥,每個(gè)色塊就是一個(gè)數(shù)值,顏色深的色塊代表數(shù)值越大峦嗤,因此它需要矩陣
箱線圖需要一個(gè)因子型和一個(gè)數(shù)值型
【簡(jiǎn)單了解下就好】plot函數(shù)如何識(shí)別不同類(lèi)型的數(shù)據(jù)蕊唐?
好像同一組數(shù)據(jù),但是不同的處理方法都能出圖烁设,那么函數(shù)到底識(shí)別哪種數(shù)據(jù)格式呢替梨?
因?yàn)樗鼘儆赟3系統(tǒng)【面向?qū)ο蟆?/h5>
- 屬性:R中每個(gè)對(duì)象(變量钓试、函數(shù)等)可以添加很多屬性
- 泛型函數(shù)
- 方法
因此,看似plot是萬(wàn)能的副瀑,但其實(shí)它的背后是一大堆成型的智囊團(tuán)(函數(shù))弓熏,遇到什么數(shù)據(jù)就調(diào)取哪個(gè)函數(shù),類(lèi)似的還有summary糠睡、print
plot做宏觀布局挽鞠,par函數(shù)在plot基礎(chǔ)上進(jìn)行微調(diào),par有72變,輸入
names(par())
可以查看全部狈孔;
當(dāng)然現(xiàn)在作圖基本都用ggplot2信认,但是plot的思想還是要學(xué)習(xí)的
歡迎關(guān)注我們的公眾號(hào)~_~
我們是兩個(gè)農(nóng)轉(zhuǎn)生信的小碩,打造生信星球均抽,想讓它成為一個(gè)不拽術(shù)語(yǔ)嫁赏、通俗易懂的生信知識(shí)平臺(tái)。需要幫助或提出意見(jiàn)請(qǐng)后臺(tái)留言或發(fā)送郵件到Bioplanet520@outlook.com