如何在R中使用ID列创建样本行?


要使用ID列创建样本行,我们可以使用sample函数。我们需要将sample函数应用于ID列,并借助单个方括号来获取行的子集。

例如,如果我们有一个名为df的数据框,其中包含一个名为ID的ID列,那么我们可以按如下方式使用ID列对df进行4行采样:

df[sample(df$ID,4),]

示例1

以下代码片段创建一个样本数据框:

Open Compiler
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进行五行采样,请将以下代码添加到上面的代码片段中:

Open Compiler
Emp_ID<-1:20 Salary<-sample(20000:50000,20) df1<-data.frame(Emp_ID,Salary) df1[sample(df1$Emp_ID,5),]

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

输出

如果将以上所有代码片段作为一个程序执行,则会生成以下输出:

 Emp_ID Salary
9   9  39775
16 16  34334
19 19  21515
20 20  29009
11 11  37880

示例2

以下代码片段创建一个样本数据框:

Open Compiler
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进行五行唯一采样,请将以下代码添加到上面的代码片段中:

Open Compiler
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 次查看

启动您的职业生涯

通过完成课程获得认证

开始
广告