數據抽樣與R實現、獲取網頁數據


1 簡單處理數據

dim(Insurance)    #獲得數據集維度

 

dim(Insurance)[1]     #獲得數據集維度的第一個向量

 

2 變量類型

通過levels()可以看到因子型數據的各水平值

levels(Insurance$Age)      #顯示出年齡有四個等級

 

levels(Insurance$Age)[1]<-"young"    #Age變量的第一個水平修改為young

levels(Insurance$Age)

 

3 數據抽樣與R實現

3.1 簡單隨機抽樣

使用sample()函數進行簡單隨機抽樣,函數格式如下:

 

其中,x表示待抽取對象,size表示想要取樣本的個數,replace為是否需要放回,prob用於抽取樣本的抽樣概率。

sub1<-sample(nrow(Insurance),10,replace = T) #Insurance中抽取有放回的10個行序號

sub1

 

sub2<-sample(nrow(Insurance),10,replace = T,prob=c(rep(0,nrow(Insurance)-1),1))

#設置除最后一條樣本抽樣概率為1之外,其余樣本抽樣概率為0

 sub2

 

Insurance[sub2,]   #列出抽取的樣本信息

 

3.2 分層抽樣

分層抽樣使用strata()函數,格式為:

 

其中data為待抽樣的數據集,stratanames中放置進行分層所一句的變量名稱,size用於放置各層中將要抽出的觀測樣本數量,method為選擇用於分層抽樣的方法,分別為無放回、有放回、泊松、系統抽樣,默認情況下是無放回,pik用於各層中個樣本抽樣的概率,description參數用於是否輸出含有各層基本信息的結果。

3.3 整群抽樣

使用cluster()函數實線整群,格式為:

 

clustername是值用來划分的變量名稱,size是一個正整數,表示需要抽取的群數。

4  獲取網頁數據

使用XML軟件包中的readHTMLTablle()函數來讀取網頁數據。

以獲取和訊忘中午你可A000002)股票的相關金融數據為例,數據所在的網址為

http://stockdata.stock.hexun.com/2008en/zxcwzb.aspx?stockid=000002&type=1&data=2021.09.02

 

頁面包含有該股票相應年份的年度數據(Annual)和中期數據(Interim),以下使用函數readHTMLTablle()來獲取本頁面中所含的其全部數據。

library(XML)

u1<-"http://stockdata.stock.hexun.com/2008en/zxcwzb.aspx?stockid=000002&type=1&data=2021.09.02"

tables1<-readHTMLTable(u1)

names(tables1)    #查看該數據有幾部分內容(4部分)

 

tables1[[2]]    #輸出第2部分的信息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM