繁体   English   中英

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

[英]R- Subsetting dataframe based on 2 variables (where one is a random number in order to sample the first variable)?

我想创建一个大数据框的子集。 我想根据第2列“随机数”的最低编号,选择第1列“类”的每个值的一行。

例如,第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

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

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

然后通过取出Class的重复值来子集

data<-subset(data, !duplicated(Class))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM