r - 使用 R 选择列中组内的前 N ​​个值

标签 r select subquery

我需要从 R 中的以下数据框中为每个 group[yearmonth] 值选择前两个值。我已经按计数和 yearmonth 对数据进行了排序。如何在以下数据中实现这一点?

 yearmonth  name    count
1   201310  Dovas   5
2   201310  Indulgd 2
3   201310  Justina 1
4   201310  Jolita  1
5   201311  Shahrukh Sheikh 1
6   201311  Dovas   29
7   201311  Justina 13
8   201311  Lina    8
9   201312  sUPERED 7
10  201312  John Hansen 7
11  201312  Lina D. 6
12  201312  joanna1st   5

最佳答案

或使用 data.table ( mydf 来自@jazzurro 的帖子)。一些选项是

  library(data.table)
  setDT(mydf)[order(yearmonth,-count), .SD[1:2], by=yearmonth]

或者
   setDT(mydf)[mydf[order(yearmonth, -count), .I[1:2], by=yearmonth]$V1,]

或者
   setorder(setkey(setDT(mydf), yearmonth), yearmonth, -count)[
                                          ,.SD[1:2], by=yearmonth]
  #    yearmonth        name count
  #1:    201310       Dovas     5
  #2:    201310     Indulgd     2
  #3:    201311       Dovas    29
  #4:    201311     Justina    13
  #5:    201312     sUPERED     7
  #6:    201312 John Hansen     7

关于r - 使用 R 选择列中组内的前 N ​​个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26644994/

相关文章:

r - 如何对列名进行分组并为其添加后缀?

r - 奇怪的 jags.parallel 错误/避免函数调用中的延迟评估

php - MySQL 从 3 个表中选择并将其放入 PHP 数组中

php - 当php变量包含mysql查询时,如何在mysql查询中使用php变量?

MySQL删除所有未选中的记录

mysql - 技术上是否可以将递归 CTE 的结果用作括号内的子查询? (在 MySql 中)

r - 尝试在 dygraphs 中绘制每周 ts 对象时无法将索引转换为适当的类型

r - 更改 ggplot2 中给定图表中堆叠条形图的顺序

Javascript根据值选择并更改元素的内容

php - 在mysql中的一个查询中选择行以及总计数