如何在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),]
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
以下代码片段创建一个样本数据框:
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
广告