如何在R中使用ID列建立樣本行?
要使用ID列建立樣本行,我們可以使用sample函式。我們需要將sample函式應用於ID列,並藉助單個方括號來獲取行的子集。
例如,如果我們有一個名為df的資料框,其中包含一個名為ID的ID列,那麼我們可以按如下方式使用ID列對df進行4行取樣:
df[sample(df$ID,4),]
示例1
以下程式碼片段建立一個樣本資料框:
Emp_ID<-1:20 Salary<-sample(20000:50000,20) df1<-data.frame(Emp_ID,Salary) df1
輸出
建立以下資料框:
Emp_ID Salary 1 1 34189 2 2 30385 3 3 32484 4 4 42169 5 5 34809 6 6 30039 7 7 40836 8 8 27534 9 9 39775 10 10 25075 11 11 37880 12 12 43213 13 13 44057 14 14 33249 15 15 49177 16 16 34334 17 17 32384 18 18 33653 19 19 21515 20 20 29009
要根據Emp_ID列對df1進行五行取樣,請將以下程式碼新增到上面的程式碼片段中:
Emp_ID<-1:20 Salary<-sample(20000:50000,20) df1<-data.frame(Emp_ID,Salary) df1[sample(df1$Emp_ID,5),]
輸出
如果將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:
Emp_ID Salary 9 9 39775 16 16 34334 19 19 21515 20 20 29009 11 11 37880
示例2
以下程式碼片段建立一個樣本資料框:
Student_ID<-sample(1:10,20,replace=TRUE) Score<-sample(1:10,20,replace=TRUE) df2<-data.frame(Student_ID,Score) df2
輸出
建立以下資料框:
Student_ID Score 1 3 8 2 10 1 3 5 6 4 1 10 5 1 1 6 4 2 7 2 3 8 6 10 9 9 3 10 1 4 11 7 3 12 4 1 13 4 3 14 1 8 15 2 8 16 7 8 17 7 4 18 4 4 19 1 3 20 10 1
要根據Student_ID列對df2進行五行唯一取樣,請將以下程式碼新增到上面的程式碼片段中:
Student_ID<-sample(1:10,20,replace=TRUE) Score<-sample(1:10,20,replace=TRUE) df2<-data.frame(Student_ID,Score) df2[sample(unique(df2$Student_ID),5),]
輸出
如果將以上所有程式碼片段作為一個程式執行,則會生成以下輸出:
Student_ID Score 7 2 3 3 5 6 9 9 3 4 1 10 2 10 1
廣告