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

r programmingserver side programmingprogramming更新于 2025/4/9 8:52:17

要使用 ID 列创建行样本,我们可以使用示例函数。我们需要在 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

相关文章