《統(tǒng)計學(xué)-基于R》(01)第1章-數(shù)據(jù)與R(R3)_第1頁
《統(tǒng)計學(xué)-基于R》(01)第1章-數(shù)據(jù)與R(R3)_第2頁
《統(tǒng)計學(xué)-基于R》(01)第1章-數(shù)據(jù)與R(R3)_第3頁
《統(tǒng)計學(xué)-基于R》(01)第1章-數(shù)據(jù)與R(R3)_第4頁
《統(tǒng)計學(xué)-基于R》(01)第1章-數(shù)據(jù)與R(R3)_第5頁
已閱讀5頁,還剩74頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)分析(方法與案例)作者 賈俊平 版權(quán)所有 違者必究Statistics with R統(tǒng)計學(xué)R 語言R第 1 章 數(shù)據(jù)與 R1.1 數(shù)據(jù)與統(tǒng)計學(xué)1.2 R 的初步使用1.3 創(chuàng)建 R 數(shù)據(jù)1.4 編寫 R函數(shù)1.5 R的圖形控制和布局ata &D2018-9-25R 語言一種自由軟件編程語言,主要用于統(tǒng)計分析、繪圖、數(shù)據(jù)挖掘最初由新西蘭奧克蘭大學(xué)的Ross Ihaka和Robert Gentleman開發(fā)(也因此成為R)?,F(xiàn)在由“R開發(fā)核心團(tuán)隊”負(fù)責(zé)開發(fā)R 全稱: 英文名:The R Programming Language 中文名:R 語言一種統(tǒng)計計算語言最新版本(2018年7月):3.5

2、.1共有包:1萬3千多個1.1 數(shù)據(jù)與統(tǒng)計學(xué) 1.1.1 什么是統(tǒng)計學(xué) 1.1.2 變量與數(shù)據(jù) 1.1.3 數(shù)據(jù)的來源第 1 章 數(shù)據(jù)與 R2018-9-25什么是統(tǒng)計學(xué) (statistics)收集、處理、分析、解釋數(shù)據(jù)并從數(shù)據(jù)中得出結(jié)論的科學(xué) 描述性方法研究數(shù)據(jù)收集、整理和描述的統(tǒng)計學(xué)方法 內(nèi)容數(shù)據(jù)收集、處理、展示、描述性分析目的描述數(shù)據(jù)特征找出數(shù)據(jù)的基本規(guī)律推斷性方法研究如何利用樣本數(shù)據(jù)來推斷總體特征的統(tǒng)計學(xué)方法內(nèi)容參數(shù)估計假設(shè)檢驗?zāi)康膶傮w特征作出推斷1.1.2 變量與數(shù)據(jù)1.1 數(shù)據(jù)及其來源2018-9-25變量與數(shù)據(jù)變量(variable)描述所觀察對象某種特征的概念 觀察一個企業(yè)

3、的銷售額,這個月和上個月有所不同;觀察股票市場上漲股票的家數(shù),今天與昨天數(shù)量不一樣;觀察一個班學(xué)生的生活費支出,一個人和另一個人不一樣;投擲一枚骰子觀察其出現(xiàn)的點數(shù),這次投擲的結(jié)果和下一次也不一樣“企業(yè)銷售額”、“上漲股票的家數(shù)”、“生活費支出”、“投擲一枚骰子出現(xiàn)的點數(shù)”等就是變量數(shù)據(jù)(data)變量的觀測結(jié)果2018-9-25變量分類類別變量(categorical variable)取值為事物屬性或類別以及區(qū)間值的變量,也稱分類變量(classified variable)或定性變量(qualitative variable)如,性別、公司所屬的行業(yè)、用戶對商品的評價,學(xué)生月生活費支出的

4、檔次分為1000以下、10001500、15002000、2000以上4檔類別變量根據(jù)取值是否有序分為兩種名義(nominal)值類別變量也稱無序類別變量,取值是不能排序順序(ordinal)值類別變量也稱有序類別變量,取值間可以排序2018-9-25變量分類數(shù)值變量(metric variable)取值為數(shù)字的變量,也稱定量變量(quantitative variable)觀察結(jié)果稱為數(shù)值數(shù)據(jù)(metric data)根據(jù)其取值不同,分為離散變量(discrete variable)和連續(xù)變量(continuous variable)。離散型變量是只能取有限個值是變量。連續(xù)型變量是可以在一個

5、或多個區(qū)間中取任何值的變量。2018-9-25變量分類1.1.3 數(shù)據(jù)的來源1.1 數(shù)據(jù)及其來源2018-9-25數(shù)據(jù)的來源尋找二手?jǐn)?shù)據(jù)抽取樣本總體(population):包含所研究的全部個體(或數(shù)據(jù))的集合樣本(sample):從總體中抽取的一部分元素的集合樣本量(sample size):構(gòu)成樣本的元素的數(shù)目概率抽樣方法2018-9-25概率抽樣(probability sampling)根據(jù)已知的概率抽取樣本單位,也稱隨機(jī)抽樣特點按一定的概率以隨機(jī)原則抽取樣本抽取樣本時使每個單位都有一定的機(jī)會被抽中每個單位被抽中的概率已知2018-9-25簡單隨機(jī)抽樣(simple random sa

6、mpling)從總體N個單位(元素)中隨機(jī)地抽取n個單位作為樣本,使得總體中每一個元素都有相同的機(jī)會(概率)被抽中 抽取元素的具體方法有放回抽樣和無放回抽樣特點簡單、直觀,在抽樣框完整時,可直接從中抽取樣本用樣本統(tǒng)計量對目標(biāo)量進(jìn)行估計比較方便局限性當(dāng)N很大時,不易構(gòu)造抽樣框抽出的單位很分散,給實施調(diào)查增加了困難沒有利用其他輔助信息以提高估計的效率2018-9-25簡單隨機(jī)樣本(simple random sample)由簡單隨機(jī)抽樣形成的樣本從總體N個單位中隨機(jī)地抽取n個單位作為樣本,使得每一個容量為n樣本都有相同的機(jī)會(概率)被抽中 參數(shù)估計和假設(shè)檢驗所依據(jù)的主要是簡單隨機(jī)樣本2018-9-

7、25分層抽樣(stratified sampling)將總體單位按某種特征或規(guī)則劃分為不同層,再從不同的層中隨機(jī)地抽取樣本優(yōu)點保證樣本的結(jié)構(gòu)與總體的結(jié)構(gòu)比較相近,從而提高估計的精度組織實施調(diào)查方便既可以對總體參數(shù)進(jìn)行估計,也可以對各層的目標(biāo)量進(jìn)行估計2018-9-25系統(tǒng)抽樣(systematic sampling)將總體中的所有單位(抽樣單位)按一定順序排列,在規(guī)定的范圍內(nèi)隨機(jī)地抽取一個單位作為初始單位,然后按事先規(guī)定好的規(guī)則確定其他樣本單位先從數(shù)字1到k之間隨機(jī)抽取一個數(shù)字r作為初始單位,以后依次取r+k,r+2k等單位優(yōu)點:操作簡便,可提高估計的精度缺點:對估計量方差的估計比較困難201

8、8-9-25整群抽樣(cluster sampling)將總體中若干個單位合并為組(群),抽樣時直接抽取群,再對中選群中的所有單位全部實施調(diào)查特點抽樣時只需群的抽樣框,可簡化工作量調(diào)查的地點相對集中,節(jié)省調(diào)查費用,方便調(diào)查的實施缺點是估計的精度較差1.2 R 的初步使用 1.2.1 R 的下載與安裝 1.2.2 對象賦值與運行 1.2.3 查看 幫助文件 1.2.4 包的安裝與加載 第 1 章 數(shù)據(jù)與 R1.2.1 R 的下載與安裝1.2 R 的初步使用2018-9-25R 的下載與安裝 2018-9-25啟動 R 的開始界面# 啟動 R出現(xiàn)的開始界面 (3.5.1版本)R命令要在命令提示符“

9、”后輸入,每次執(zhí)行一條命令 1.2.2 對象賦值與運行1.2 R 的初步使用2018-9-25為對象賦值并運行 # R的運行# R運行的是一個對象,在運行前需要給對象賦值。標(biāo)準(zhǔn)賦值符號“-”# 對對象x進(jìn)行各種計算和繪圖 x-8 # 將數(shù)據(jù)8賦值給對象x y-c(80,87,98,73,100) # 將5個數(shù)據(jù)賦值給對象y z-example1_1 # 將數(shù)據(jù)框example1_1賦值給對象z sum(y) # 計算對象y的總和 mean(y) # 計算對象y的平均數(shù) var(y) # 計算對象y的方差barplot(y,xlab=類別,ylab=計數(shù),ylim=c(0,1.1*max(y),

10、col=c(1:5)text(bar,y,labels=y,pos=3,col=1) # 繪制對象y的條形圖,并增加數(shù)值標(biāo)簽。x軸標(biāo)簽為“類別”,y軸標(biāo)簽為“計數(shù)”,每個條的顏色為R顏色系中的15種顏色。1.2.3 查看幫助文件1.2 R 的初步使用2018-9-25查看R函數(shù)的幫助文件 # R軟件中的每個函數(shù)都有相應(yīng)的幫助說明,使用中遇到疑問時,可以隨時查看幫助文件# 比如,要想了解mean函數(shù)的功能和使用方法,使用help命令查詢該函數(shù)(必須在聯(lián)網(wǎng)狀態(tài)下),命令為: # 或者使用help的簡寫形式,在函數(shù)名前加“?”符號 ?mean# R就會輸出mean()函數(shù)的具體說明,包括函數(shù)中參數(shù)設(shè)

11、定、結(jié)果結(jié)構(gòu)、使用例子等內(nèi)容。當(dāng)對一個函數(shù)不太清楚時,可以得到很大的幫助help(mean)1.2.4 包的安裝與加載1.2 R 的初步使用2018-9-25R包的安裝和加載# 包(package)指包含數(shù)據(jù)、函數(shù)的集合。截止2017年2月,R有10000多個包# 在R界面中點擊:幫助CRAN主頁,可查看R中有多少個包以及各個包的含義# 使用函數(shù)library()則可以顯示你的R中已經(jīng)安裝了哪些包# 要查看包的使用說明,使用命令: # 在線安裝所需的包。命令為:# 一次安裝多個包。命令為:help(package=“package_name”)install.packages(car) # 要

12、安裝car包 install.packages(c(car,vcd“,)2018-9-25R包的加載和加載# 要使用包,需要用library()函數(shù)或或require()函數(shù)載入這個包。比如,要使用car包,執(zhí)行命令:# 要查看包的使用說明,使用命令: # 查看包stats的信息 library(car)或 require(car)help(package=package_name)help(package=stats) 2018-9-25本書使用的 R 包查看 R 中的stats包:? statsagricolae doBygplotspastecssmaplpacke1071gridExt

13、raplotrixTeachingDemosBSDAfmsbHHplyrvcdcar forecastHmiscpsychvioplotcorrgramggplot2lm.betareshapeDescToolsgmodelslsrscatterplot3d1.3 創(chuàng)建 R 數(shù)據(jù) 1.3.1 在 R 中錄入數(shù)據(jù) 1.3.2 數(shù)據(jù)讀取和保存 1.3.3 數(shù)據(jù)使用和編輯 1.3.4 數(shù)據(jù)類型的轉(zhuǎn)換 1.2.5 生成隨機(jī)數(shù) 1.3.6 數(shù)據(jù)抽樣與篩選第 1 章 數(shù)據(jù)與 R2018-9-25查看 R 的自帶數(shù)據(jù)包# 查看R自帶數(shù)據(jù)包 data()查看汽車數(shù)據(jù):mtcars查看老忠實間歇噴泉數(shù)據(jù)(Old

14、 Faithful Geyser Data):faithful查看泰坦尼克號數(shù)據(jù):Titanic1.3.1 在 R 中錄入數(shù)據(jù) 1.3 創(chuàng)建 R 數(shù)據(jù)2018-9-25在 R 中錄入數(shù)據(jù)(c 函數(shù)combine:合并對象為向量)# 用c函數(shù)產(chǎn)生向量:錄入表11中的數(shù)據(jù)# 將向量形式的數(shù)據(jù)組織成數(shù)據(jù)框形式 names-c(張青松,王宇翔,田思雨,徐麗娜,張志杰,趙穎穎,王智強(qiáng),宋麗媛,袁芳芳,張建國) stat-c(68,85,74,88,63,78,90,80,58,63) math-c(85,91,74,100,82,84,78,100,51,70) mark-c(84,63,61,49,8

15、9,51,59,53,79,91) mana-c(89,76,80,71,78,60,72,73,91,85) acco-c(86,66,69,66,80,60,66,70,85,82)table1_1-data.frame(學(xué)生姓名=names,統(tǒng)計學(xué)=stat,數(shù)學(xué)=math,營銷學(xué)=mark,管理學(xué)=mana,會計學(xué)=acco) table1_12018-9-25在 R 中錄入數(shù)據(jù)# 將向量形式的數(shù)據(jù)組織成矩陣 matrix1_1-matrix(cbind(stat,math,mark,mana,acco),ncol=5) dimnames(matrix1_1)-list(c(張青松,王

16、宇翔,田思雨,徐麗娜,張志杰,趙穎穎,王智強(qiáng),宋麗媛,袁芳芳,張建國),c(統(tǒng)計學(xué),數(shù)學(xué),營銷學(xué),管理學(xué),會計學(xué)) save(matrix1_1,file=C:/example/ch1/matrix1_1.RData) matrix1_1 2018-9-25在 R 中錄入數(shù)據(jù)# 在R中錄入數(shù)據(jù)并組織成矩陣matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)d-1:12m1-matrix(d,3,4)m2-matrix(d,3,4,byrow=T)1.3.2 數(shù)據(jù)讀取和保存1.3 創(chuàng)建 R 數(shù)據(jù)2018-9-2

17、5讀取 R 數(shù)據(jù)# 運行R時,需要讀入數(shù)據(jù)??梢栽赗輸入數(shù)據(jù),也可以讀取已有的數(shù)據(jù)文件。R可以讀入很多類型的數(shù)據(jù)文件,如Excel、SPSS、SAS、XML# R數(shù)據(jù)文件以.RData為后綴。讀取R數(shù)據(jù)文件的命令為 在mydata.RData中應(yīng)該說明文件存放的路徑 注意:路徑中分割符號是或者/,如 C:/example/mydata.RDataload(load(C:/example/ch1/table1_1.RData)2018-9-25# 讀取包含標(biāo)題的csv文件 # 讀取不包含標(biāo)題的csv文件 讀取 CSV 數(shù)據(jù)read.csv(C:/example/ch1/table1_1.csv)

18、 read.csv(C:/example/ch1/table1_1.csv,header=FALSE)2018-9-25# 導(dǎo)入Excel數(shù)據(jù)# 導(dǎo)入spss數(shù)據(jù)讀取Excel和SPSS文件 install.packages(xlsx) # 下載并安裝xlsx包library(xlsx) # 載入xlsx包table1_1-read.xlsx(C:/example/ch1/table1_1.xlsx,as.data.frame=TRUE) # 導(dǎo)入Excel數(shù)據(jù)install.packages(foreign) # 下載并安裝xlsx包library(foreign) # 載入foreign包

19、table1_1-read.spss(file=C:/example/ch1/table1_1.sav,use.value.labels=TRUE,as.data.frame=TRUE) # 導(dǎo)入spss數(shù)據(jù)2018-9-25# 將tablel_1存為R格式文件 # 將tablel_1存為csv格式文件保存數(shù)據(jù)save(table1_1,file=C:/example/ch1/table1_1.RData)write.csv(table1_1,file=c:/example/ch1/table1_1.csv)2018-9-25在 R 中查看數(shù)據(jù)# R在運行該數(shù)據(jù)文件時,并不顯示該數(shù)據(jù)。如果要在

20、R中看table1_1的全部數(shù)據(jù),使用命令:# 查看數(shù)據(jù)的前幾行,比如要查看前5行,命令為: # 查看數(shù)據(jù)的最后幾行,使用命令: table1_1head(table1_1,5)tail(table1_1)2018-9-25附加:展示 R 對象的結(jié)構(gòu)(structure)# 查看R對象(數(shù)據(jù)框、表格等任意R對象)的結(jié)構(gòu)。使用函數(shù)str()。例如: str(example1_1) # 查看table1_1的數(shù)據(jù)結(jié)構(gòu)str(table1_1) # 查看example1_1的數(shù)據(jù)結(jié)構(gòu)load(C:/example/ch3/example3_12.RData)str(example3_12) # 查看

21、example3_12的數(shù)據(jù)結(jié)構(gòu)1.3.3 數(shù)據(jù)使用和編輯1.3 創(chuàng)建 R 數(shù)據(jù)2018-9-25數(shù)據(jù)排序# 升序 # 按統(tǒng)計學(xué)成績降序newdata-table1_1order(table1_1$學(xué)生姓名), # 按學(xué)生姓名字母升序排列,并儲存于新數(shù)據(jù)newdata中newdata # 顯示排序后的數(shù)據(jù) newdata1-table1_1order(table1_1$統(tǒng)計學(xué),decreasing =TRUE),# 或 newdata1-table1_1order(-table1_1$統(tǒng)計學(xué)), newdata12018-9-25選擇特定的變量進(jìn)行分析# 選定數(shù)據(jù)框(或矩陣)的行或列進(jìn)行分析

22、table1_1 ,2 # 選定數(shù)據(jù)框table1_3的第2列或table1_1$統(tǒng)計學(xué) # 選定數(shù)據(jù)框table1_3的第2個變量mean(table1_1,2) # 對table1_3的第2列求平均或mean(table1_1$統(tǒng)計學(xué)) 2018-9-25矩陣的簡單計算# 對矩陣matrix1_1的第1列到第5列求和# 將求和結(jié)果加到原矩陣 # 對矩陣matrix1_1的各行求和# 將行求和結(jié)果加到原矩陣# 對矩陣matix1_1中的所有數(shù)據(jù)求平均數(shù) colSums(matrix1_1,1:5)rbind(matrix1_1,totlas=colSums(matrix1_1,1:5) ro

23、wSums(matrix1_1)cbind(matrix1_1,totlas=rowSums(matrix1_11:10,)mean(matrix1_1)2018-9-25使用apply函數(shù)對矩陣做簡單計算# 使對矩陣的所有行求和 # 對矩陣的所有列求和# 對矩陣的所有行求平均數(shù) # 對矩陣的所有列求平均數(shù) # 對矩陣的所有列求標(biāo)準(zhǔn)差apply(matrix1_1,1,sum)apply(matrix1_1,2,sum)apply(matrix1_1,1,mean)apply(matrix1_1,2,mean)apply(matrix1_1,2,sd)2018-9-25編輯數(shù)據(jù)框# 變量的重新

24、命名 將table1_1中的“學(xué)生姓名”重新命名為“姓名”,“統(tǒng)計學(xué)”重新命名為“統(tǒng)計” 命令為:library(reshape)rename(table1_1,c(學(xué)生姓名=姓名,統(tǒng)計學(xué)=統(tǒng)計)2018-9-25編輯數(shù)據(jù)框# 編輯已有數(shù)據(jù)框中的數(shù)據(jù)并保存覆蓋舊數(shù)據(jù) load(C:/example/ch1/table1_1.RData)newdata-edit(table1_1) # 打開并編輯數(shù)據(jù),然后關(guān)閉table1_1-newdata # 已修改并覆蓋舊數(shù)據(jù)save(table1_1,file=C:/example/ch1/table1_1.RDatatable1_11:3, # 查看前

25、3行2018-9-25編輯數(shù)據(jù)框# 創(chuàng)建一個新數(shù)據(jù)框并編輯數(shù)據(jù) 在R中創(chuàng)建一個新數(shù)據(jù)框,編輯數(shù)據(jù),并將其保存在指定路徑的文件中。比如,創(chuàng)建一個包含性別和年齡兩個變量的數(shù)據(jù)框并命名為:newdata,編輯后將其保存在“C:/example/ch1”中。命令為: newdata-data.frame(性別=character(0),年齡=numeric(0) newdata-edit(newdata) save(newdata,file=C:/example/ch1/ newdata.RData)2018-9-25缺失值的處理# 檢測數(shù)據(jù)集中是否存在缺失值# 排除數(shù)據(jù)集中的缺失值 x-c(2,4,

26、6,NA) # 帶有缺失值的向量x is.na(x) # 檢測向量中的缺失值 x-c(2,4,6,NA) # 帶有缺失值的向量x sum(x) # 對x求和 y-sum(x,na.rm=TRUE) # 排除向量中的缺失值后再求和 y2018-9-25缺失值的處理# 排除數(shù)據(jù)集中的多個缺失值load(C:/example/ch1/table1_1_2.RData) table1_1_2table1_1_3-na.omit(table1_1_2); table1_1_3 save(table1_1_3,file=C:/example/ch1/table1_1_3.RData)2018-9-25合并

27、數(shù)據(jù)框(合并要有意義)# 按行合并數(shù)據(jù)框d1和d2# 按列合并數(shù)據(jù)框d3和d4load(C:/example/ch1/d1.RData) # 加載數(shù)據(jù)框d1load(C:/example/ch1/d2.RData) # 加載數(shù)據(jù)框d2d1;d2rbind(d1,d2)load(C:/example/ch1/d3.RData) # 加載數(shù)據(jù)框d3load(C:/example/ch1/d4.RData) # 加載數(shù)據(jù)框d4d3;d4cbind(d3,d42:3)1.3.4 數(shù)據(jù)類型的轉(zhuǎn)換1.3 創(chuàng)建 R 數(shù)據(jù)2018-9-25將數(shù)據(jù)框轉(zhuǎn)換為矩陣# 將table1_1.RData數(shù)據(jù)框轉(zhuǎn)化為矩陣l

28、oad(C:/example/ch1/table1_1.RData) # 加載數(shù)據(jù)框matrix1_1-as.matrix(table1_1,2:6) # 轉(zhuǎn)換為矩陣matrix1_1rownames(matrix1_1)=table1_1,1 # 矩陣行名稱為table1_1第1列的名稱save(matrix1_1,file=C:/example/ch1/matrix1_1.RData) # 保存矩陣檔matrix1_1 # 查看矩陣2018-9-25將數(shù)據(jù)框轉(zhuǎn)換為向量# 將數(shù)據(jù)框轉(zhuǎn)換為向量as.vector(table1_1$統(tǒng)計學(xué)) # 將統(tǒng)計學(xué)分?jǐn)?shù)轉(zhuǎn)換成向量as.vector(as.m

29、atrix(table1_1,2:3) # 將統(tǒng)計學(xué)和數(shù)學(xué)分?jǐn)?shù)合并轉(zhuǎn)換成一個向量 as.vector(as.matrix(table1_1,2:6) # 將數(shù)據(jù)框轉(zhuǎn)換為向量2018-9-25附加:將因子轉(zhuǎn)換為數(shù)值# 將因子轉(zhuǎn)換為數(shù)值as.numeric()注:數(shù)值編號與因子的拼音字母順序一致a-sample(c(甲,乙,丙,丁),20,replace=T) # 因子ad=data.frame(a) # 轉(zhuǎn)換為數(shù)據(jù)框as.numeric(d$a) # 轉(zhuǎn)換為數(shù)值1.3.5 生成隨機(jī)數(shù)1.3 創(chuàng)建 R 數(shù)據(jù)2018-9-25生成機(jī)制不同分布的隨機(jī)數(shù)# 采用無放回抽樣方式抽取隨機(jī)樣本 rnorm(1

30、0) # 產(chǎn)生10個標(biāo)準(zhǔn)正態(tài)分布隨機(jī)數(shù)set.seed(15) # 設(shè)定隨機(jī)數(shù)種子 rnorm(10,50,5) # 產(chǎn)生10個均值為50,標(biāo)準(zhǔn)差為5的正態(tài)分布隨機(jī)數(shù)runif(10,0,100) # 在0到100之間產(chǎn)生10個均勻分布隨機(jī)數(shù)rexp(10) # 產(chǎn)生10個指數(shù)分布隨機(jī)數(shù)rchisq(10,15) # 產(chǎn)生10個自由度為15的卡方分布隨機(jī)數(shù)1.3.6 數(shù)據(jù)抽樣與篩選1.3 創(chuàng)建 R 數(shù)據(jù)2018-9-25附加:R 中的抽樣函數(shù)# 簡單隨機(jī)抽樣(R自帶函數(shù))# 分層抽樣(來自DescTools包和sampling包)# 系統(tǒng)抽樣(來自doBy包的sampleBy函數(shù))# 整群抽樣

31、(來自sampling包)sample(x, size, replace = FALSE, prob = NULL) (n, size = n, replace = FALSE, prob = NULL) Strata(x, stratanames = NULL, size, method = c(srswor, srswr, poisson, systematic), pik, description = FALSE) sampleBy(formula, frac = 0.1, replace=FALSE, data = parent.frame(),systematic

32、=FALSE) cluster(data, clustername, size, method=c(srswor,srswr,poisson, systematic),pik,description=FALSE) 2018-9-25用 R 抽樣和數(shù)據(jù)篩選【例11】(數(shù)據(jù):example1_1.RData)在面向3個專業(yè)開設(shè)的選修課中,共有50個學(xué)生選修該課程,有關(guān)信息(1)分別采用無放回和有放回抽樣方式抽出10個學(xué)生組成一個簡單隨機(jī)樣本(2)篩選出考試分?jǐn)?shù)小于60的所有學(xué)生和考試分?jǐn)?shù)大于等于90的所有分?jǐn)?shù)(3)按性別分層,抽取20%的學(xué)生作為樣本;同時按性別和專業(yè)分層,抽取20%的學(xué)生作為樣本

33、(4)采用系統(tǒng)抽樣方式抽取20%的學(xué)生作為樣本2018-9-25抽取簡單隨機(jī)樣本和數(shù)據(jù)篩選(使用sample函數(shù))# 采用無放回抽樣方式抽取隨機(jī)樣本 # 采用有放回抽樣抽取隨機(jī)樣本 # 篩選出考試分?jǐn)?shù)小于60的所有學(xué)生 # 篩選出考試分?jǐn)?shù)大于等90的所有分?jǐn)?shù) load(C:/example/ch1/example1_1.RData)addmargins(table(example1_1$性別,example1_1$專業(yè))sample(example1_1$姓名,10,replace=FALSE)sample(example1_1$姓名,10,replace=TRUE)sample(exampl

34、e1_1$姓名example1_1$考試分?jǐn)?shù)=90) 2018-9-25抽取簡單隨機(jī)樣本和數(shù)據(jù)篩選(使用sample函數(shù))# 篩選出所有的女學(xué)生 # 計算所有女學(xué)生的平均分?jǐn)?shù) # 計算所有男學(xué)生的平均分?jǐn)?shù)example1_1$姓名example1_1$性別=女 mean(example1_1$考試分?jǐn)?shù)example1_1$性別=女) mean(example1_1$考試分?jǐn)?shù)example1_1$性別=男) 2018-9-25分層抽樣(使用Strata函數(shù))# 分層抽樣:來自DescTools包的Strata函數(shù),注意S為大寫包(注:sampling包中也有分層抽樣函數(shù),strata,但s為小寫

35、) 函數(shù)格式:Strata(x, stratanames = NULL, size, method = c(srswor, srswr, poisson, systematic), pik, description = FALSE) 注:x=數(shù)據(jù)框或矩陣,總行數(shù)(即數(shù)據(jù)量)為n stratanames=分層變量的向量 size=各層的樣本量 method=選取個體元素的方法:srswor:無重復(fù)簡單隨機(jī)抽樣(為默認(rèn)方法);srswr:可重復(fù)簡單隨機(jī)抽樣;poisson:Poisson抽樣;systematic:系統(tǒng)抽樣。 pik=概率向量(僅適用于Poisson抽樣和systematic系統(tǒng)抽

36、樣)2018-9-25分層抽樣(使用Strata函數(shù))# 【例example1_1】:50個學(xué)生的數(shù)據(jù)# 按性別分層,抽取20%的樣本,共10人load(C:/example/ch1/example1_1.RData)summary(example1_1)addmargins(table(example1_1$性別,example1_1$專業(yè))library(DescTools) # 加載包DescToolsd-example1_1n1=round(length(d$性別d$性別=男)*0.2);n2=round(length(d$性別d$性別=女)*0.2) # 計算各層樣本量,并將結(jié)果四舍

37、五入stratified1-Strata(example1_1,stratanames=性別,size=c(n1,n2),method=srswor) stratified1table(stratified1$性別) # 樣本量列表2018-9-25分層抽樣(使用Strata函數(shù))# 按專業(yè)分層,抽取20%的樣本,共10人。按等比例分層抽樣,從管理學(xué)專業(yè)中抽取15*0.2=3人;會計學(xué)中抽取19*0.2=4人;金融學(xué)專業(yè)中抽取16*0.2=3人 # 注意:size=c(3,4,3)向量中的各層樣本量的順序與層的名稱的字母順序一致。s2 - Strata(example1_1,c(專業(yè)),siz

38、e=c(3,4,3),method=srswor) s2table(s2$專業(yè)) # 樣本量列表2018-9-25分層抽樣(使用Strata函數(shù))# 按性別和專業(yè)分層,抽取總共20%的樣本,共10人。根據(jù)列聯(lián)表: 管理學(xué) 會計學(xué) 金融學(xué) Sum 男 11 10 7 28 女 4 9 9 22 Sum 15 19 16 50# 每個單元格應(yīng)抽取的人數(shù)為:c11=(11/50)*10=2;c21=(4/50)*10=1;c12=(10/50)*10=2;c22=(9/50)*10=2;c13=(7/50)*10=1;c23=(9/50)*10=2。stratified2- Strata(examp

39、le1_1,c(性別,專業(yè)),size=c(2,1,2,2,1,2),method=srswor) addmargins(table(stratified2$性別, stratified2$專業(yè)) # 樣本量列表2018-9-25系統(tǒng)抽樣(使用sampleBy函數(shù))# 系統(tǒng)抽樣(來自doBy包的sampleBy函數(shù))sampleBy(formula, frac = 0.1, replace=FALSE, data = parent.frame(),systematic=FALSE)【例】從example_1中用系統(tǒng)抽樣抽取10個學(xué)生(每隔5個抽一個) load(C:/example/ch1/e

40、xample1_1.RData)library(doBy)systematic-sampleBy(1 ,frac = 0.2, replace=FALSE, data=example1_1,systematic=T)systematicaddmargins(table(systematic$性別,systematic$專業(yè))1.4 編寫 R 函數(shù)第 1 章 數(shù)據(jù)與 R2018-9-25函數(shù)的編寫(一個函數(shù)示例) load(C:/example/ch1/example1_1.RData) # 裝載數(shù)據(jù) x-example1_1,2 # 為x賦值為例14的第2列myfun-function(x)

41、# 編寫函數(shù)如下n-length(x)mean-sum(x)/nmedian-median(x)r-max(x)-min(x)s-sd(x) df-data.frame(樣本量=n,平均數(shù)=mean,中位數(shù)=median,極差=r,標(biāo)準(zhǔn)差=s)return(df)myfun(x) # 返回函數(shù)結(jié)果 1.5 R 圖形的控制和布局 1.5.1 par函數(shù) 1.5.2 layout函數(shù) 第 1 章 數(shù)據(jù)與 R2018-9-25par 函數(shù)的參數(shù)參數(shù)功能默認(rèn)值ann控制高水平繪圖函數(shù)的主標(biāo)題和坐標(biāo)軸標(biāo)題注釋。若ann=FALSE,將不顯示這些注釋。TRUEcex控制文字和繪圖符號的大小。cex=1表示

42、正常大小。cex=0.8表示繪圖文字和符號縮小為正常大小的80%。1cex.lab控制坐標(biāo)軸標(biāo)簽的縮放倍數(shù)。1cex.main控制主標(biāo)題文字的縮放倍數(shù)。1.2font.lab控制坐標(biāo)軸標(biāo)簽的字體。1font.main控制主標(biāo)題的字體。2lty設(shè)置線條類型(見圖13)。Solid(即1)lwd設(shè)置線的寬度(見圖13)。1mai參數(shù)是一個數(shù)值向量c(底部,左側(cè),上方,右側(cè))。設(shè)置圖形邊距大小,單位是英寸。C(1.02,0.82,0.82,0.42)mfcol參數(shù)是一個數(shù)值向量c(nr,nc),用于將繪圖區(qū)域分割成相應(yīng)行數(shù)和列數(shù)的矩陣,并按列填充各圖。從而在一個繪圖區(qū)域中繪制多個圖。c(1,1)mfrow同mfcol,只是按行填充各圖。c(1,1)pch

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論