您好,登錄后才能下訂單哦!
本篇內容介紹了“R語言中的概率分布函數怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
R中擁有眾多的概率函數,既有概率密度函數,也有概率分布函數,可以調用函數,也可以產生隨機數,其使用規(guī)則如下所示:
[dpqr]distribution_abbreviation()
其中前面字母為函數類型,含義如下:
d=密度函數(density)
p=分布函數(distributionfunction)
q=分位數函數(quantilefunction)
r=生成隨機數(隨機偏差)
distribution_abbreviation為概率分布名稱的縮寫,R中的概率分布類型如下所示:
對于概率密度函數和分布函數,其使用方法舉例如下:例如正態(tài)分布概率密度函數為dnorm(),概率分布函數pnorm(),生成符合正態(tài)分布的隨機數rnorm()。
x=pretty(c(-3,3),100)y=dnorm(x)plot(x, y)
作圖結果如下所示:
對于生成隨機數,其使用方法舉例如下:
rnorm(n, mean=0, sd=1) #產生n個正態(tài)分布的數,mena平均值,sd標準差runif(n, min=0, max=1) #產生n個均勻分布的數,min最小值,max最大值
接下來我們產生符合正態(tài)分布的隨機數并作圖:
library(ggplot2)y=rnorm(10000, mean=0, sd=1)x=1:10000data=data.frame(x=x, y=y)ggplot(data, aes(x=y)) + geom_histogram(position='identity', alpha=0.5, binwidth=0.1, aes(y=..density..), fill="cyan") + stat_density(geom='line', position='identity', color="cyan4")
作圖結果如下所示:
可以看到數據分布圖像與正態(tài)函數圖像基本相同。R也可以產生多維隨機變量,例如MASS包中的mvrnorm()函數可以產生一維或者多維正態(tài)分布的隨機變量,其使用方法如下所示:
mvrnorm(n=1, mu, Sigma...)
其中n為隨機數的個數,mu為數值向量,給出均值,Sigma為對稱的數值矩陣給出協方差矩陣。
當有多個隨機變量都服從正態(tài)分布時,為多元正態(tài)性。接下來我們產生相關系數不同(1、0.75、0.25、0)的二維正太隨機變量,并繪制其密度圖,來觀察區(qū)別,具體如下:
library(MASS) #相關系數1Sigma1=matrix(c(1, 1, 1, 1), 2, 2) X1=mvrnorm(n=1000, c(0, 0), Sigma1) #總共1000個點K1=kde2d(X1[,1], X1[,2], n=100) #n為估計密度所用點數,不能太大col.palette=colorRampPalette(c("white","red")) #自定義顏色filled.contour(K1, color=col.palette)#相關系數0.75Sigma2=matrix(c(1, 0.75, 0.75, 1), 2, 2) X2=mvrnorm(n=1000, c(0, 0), Sigma2)K2=kde2d(X2[,1], X2[,2], n=100)filled.contour(K2, color=col.palette)#相關系數0.25Sigma3=matrix(c(1, 0.25, 0.25, 1), 2, 2) X3=mvrnorm(n=1000, c(0, 0), Sigma3)K3=kde2d(X3[,1], X3[,2], n=100)filled.contour(K3, color=col.palette)#相關系數0Sigma4=matrix(c(1, 0, 0, 1), 2, 2) X4=mvrnorm(n=1000, c(0, 0), Sigma4)K4=kde2d(X4[,1], X4[,2], n=100)filled.contour(K4, color=col.palette)
作圖結果如下所示:
上面程序中kde2d()函數根據二維坐標來估計數據點的分布密度,并畫出等密度線(可以使用contour(K4, lwd=1,add=T, xlim, ylim...)函數添加邊界線并標注數據比例),然后自定義顏色并并填充進去形成圖像,實際上展示了三維信息。但是我們仍可以用persp()函數來展示出3D圖:
persp(K1, col="orange", theta=95, phi=30, d=2)
“R語言中的概率分布函數怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。