R-基于2个变量子集数据帧(其中一个是随机数,以便对第一个变量进行采样)?

时间:2013-11-19 14:54:55

标签: r dataframe subset

我想创建一个大数据框的子集。我希望为第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     

1 个答案:

答案 0 :(得分:1)

尝试按随机数排序数据集:

data<-data[order(data$Random_number),]

然后通过取出Class

的重复值来进行子集化
data<-subset(data, !duplicated(Class))