1 數據抽樣
(1) 簡單隨機抽樣
sample(x,size,replace=FALSE,prob=NULL)
其中,x表示待抽取對象,一般情況下以向量形式表示;size爲非負整數,表示想要抽取樣本的個數;replace表示是否爲可放回抽樣,默認不放回;prob用於設置各個抽樣樣本的抽樣概率,默認等概率抽樣。
例子:
library(MASS)
data(Insurance)
sub1=sample(nrow(Insurance),10,replace=T)
sub2=sample(nrow(Insurance),10)
sub3=sample(nrow(Insurance),10,replace=T,prob=c(rep(0,nrow(Insurance)-1),1))
#設置最後一個樣本的抽樣概率爲1,其他樣本被抽到的概率爲0
備註:sample爲自帶函數
(2) 分層抽樣
strata(data, stratanames=NULL, size, method=c(“srswor”,”srswr”,”poisson”,”systematic”), description=FALSE)
其中,data爲待抽樣數據集;stratanames中放置進行分層所依據的變量名稱;size用於設置各層中將要抽出的觀測樣本數,其順序應該與數據集中變量各水平出現順序一致,且在使用該函數前,應當首先對數據集按照該變量進行升序排列;method參數用於選擇抽樣方法,分別對應於無放回、有放回、泊松、系統抽樣,默認無放回;pik用於設置各層中各樣本的抽樣概率;description參數用於選擇是否輸出含有各層基本信息的結果。
sub4=strata(Insurance,stratanames="District",size=c(1,2,3,4),method="srswor")
#按照街區進行分層,且1~4個街區中無放回抽取1-4個樣本
(3) 整羣抽樣
cluster(data, clustername, size, method=c(“srswor”,”srswr”,”poisson”,”systematic”), description=FALSE)
與分層抽樣稍微不同的是,clustername指用來劃分羣的變量的名稱,而size不再爲分層抽樣中的一個向量,這裏僅爲一個正整數,表示需要抽取的羣數。
sub5=cluster(Insurance,clustername="District",size=2,method="srswor")
備註:strata和cluster函數需要加載sampling包
2 概率分佈
R中提供了18個分佈函數
對於所給的分佈名稱,加前綴“d”(代表密度函數, density)就得到R的密度函數(對於離散分佈, 指分佈律); 加前綴“p”(代表分佈函數或概率, CDF)就得到R的分佈函數; 加前綴“q”(代表分位函數, quantile)就得到R的分位數函數; 加前綴“r”(代表隨機模擬, random)就得到R的隨機數發生函數.