1. 程式人生 > >R語言 資料集取子集

R語言 資料集取子集

保留變數:

>newdata<-leadership[,c(6:10)]

                      或者

> myvars<-c("item1","item2","item3","item4","item5")
> newdata<-leadership[myvars]

丟棄變數:

> myvars<-names(leadership)%in%c("item3","item4")
> newdata<-leadership[!myvars]
> newdata
  managerID testDate country gender age item1 item2 item5 agecat
1         1 10/24/08      US      M  32     5     4     5  Young
2         2 10/28/08      US      F  45     3     5     5  Young
3         3  10/1/08      UK      F  26     3     5     2  Young
4         4 10/12/08      UK      M  39     3     3    NA  Young
5         5   5/1/09      UK      F  NA     2     2     1   <NA>

                      或者

> newdata<-leadership[c(-8,-9)]

 

選入觀測:

> newdata<-leadership[1:3,]
//選擇第一行到第三行觀測

> newdata<-leadership[which(leadership$gender=="M"&leadership$age>30),]
//選擇了所有30歲以上的男性

使用subset()函式:

> newdata<-subset(leadership,age>=35|age<24,select=c(item1,item2,item3,item4))
//選擇了所有age值大於等於35或age值小於24的行,保留了變數item1到item4。

> newdata<-subset(leadership,gender=="M"&age>25,select=gender:item4)
//選擇了所有25歲以上的男性,並保留了變數gender到q4(gender、item4和其間所有列)

 

隨機抽樣:

> mysample<-leadership[sample(1:nrow(leadership),3,replace=FALSE),]
//從leadership資料集中隨機抽取一個大小為3的樣本
//sample(1:nrow(leadership)引數是一個由要從中抽樣的元素組成的向量
//3是要抽取的元素數量
//replace=FALSE表示無放回抽樣

相關:抽取和校正調查樣本的sampling包 以及分析複雜調查資料survey包。