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