我想创建一个大数据框的子集。我希望为第1列“class”的每个值选择一行,基于第2列“随机数”的最小数字。
例如,行1,2和3在第1列中都具有值2,并且我希望保留/子集第3行,因为它具有最低的随机数(3.446456)。对于这个示例,我想要对行3,4,7,8,9,10,11进行子集化。
我的数据集有超过10,000行,那么有没有一种编码方法呢?我正在使用R studio。
非常感谢,
Class Random_number Score_1 Score_2 Score_3 2 5.575475 0.78464 0.747847 0.6746464 2 7.738382 0.73273 0.747474 0.6734652 2 3.456456 0.78464 0.747847 0.6746464 3 6.939399 0.23363 0.123555 0.6476384 4 10.99993 0.66654 0.565757 0.6565633 4 6.894898 0.54295 0.825264 0.2357674 4 5.575475 0.78464 0.747847 0.6746464 5 3.738382 0.73273 0.747474 0.6734652 6 3.456456 0.78464 0.747847 0.6746464 7 6.932119 0.23363 0.123555 0.6476384 7 17.11993 0.66654 0.565757 0.6565633 8 6.895898 0.54295 0.825264 0.2357674
答案 0 :(得分:1)
尝试按随机数排序数据集:
data<-data[order(data$Random_number),]
然后通过取出Class
的重复值来进行子集化data<-subset(data, !duplicated(Class))