如何在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

更新於:2021年11月5日

497 次檢視

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告