【问题标题】:R- Subsetting dataframe based on 2 variables (where one is a random number in order to sample the first variable)?R-基于2个变量的子集数据框(其中一个是随机数,以便对第一个变量进行采样)?
【发布时间】:2016-03-14 22:22:16
【问题描述】:

我想创建一个大型数据框的子集。我想为第 1 列“类”的每个值选择一行,基于第 2 列“随机数”的最低数字。

例如,第 1、2 和 3 行在第 1 列中都有值 2,我想保留/子集第 3 行,因为它具有最低的随机数 (3.446456)。对于此示例,我想对第 3、4、7、8、9、10、11 行进行子集化。

我的数据集有超过 10,000 行,那么有没有办法对此进行编码?我正在使用 R 工作室。

非常感谢,

班级 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

【问题讨论】:

标签: r dataframe subset


【解决方案1】:

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

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

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

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

【讨论】:

  • 非常感谢,真的很有帮助!
猜你喜欢
  • 1970-01-01
  • 2016-03-29
  • 2015-10-19
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
  • 2022-01-03
  • 1970-01-01
  • 2020-10-03
相关资源
最近更新 更多