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()函數來讀取網頁數據。
以獲取和訊忘中午你可A(000002)股票的相關金融數據為例,數據所在的網址為
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部分的信息