首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在每组中得到最后5行开始?

如何在每组中得到最后5行开始?
EN

Stack Overflow用户
提问于 2022-04-07 07:46:31
回答 1查看 43关注 0票数 -1
代码语言:javascript
复制
    finger_index    finger_state    data_source x      y    eventMask  Tap  group
    0                PalmOn         PTP         1155   241      0      0    a
    1                PalmOn         PTP         13     178      0      0    a
    2                FingerOn       PTP         255    671      0      0    a
    3                NoObject       PTP         0      0        0      0    a
    4                NoObject       PTP         0      0        0      0    a
    0                PalmOn         PTP         1155   241      0      0    a
    1                PalmOn         PTP         13     178      0      0    a
    2                FingerOn       PTP         255    671      0      0    a
    3                NoObject       PTP         0      0        0      0    a
    4                NoObject       PTP         0      0        0      0    a
    0                PalmOn         PTP         1156   241      0      0    a
    1                PalmOn         PTP         13     178      0      0    a
    2                FingerOn       PTP         255    671      0      0    a
    3                NoObject       PTP         0      0        0      0    a
    4                NoObject       PTP         0      0        0      0    a
    0                PalmOn         PTP         1161   240      0      0    a
    1                PalmOn         PTP         13     178      0      0    a
    2                FingerOn       PTP         255    671      0      0    a
    3                NoObject       PTP         0      0        0      0    a
    4                NoObject       PTP         0      0        0      0    a
    0                PalmOn         PTP         1181   234      0      0    a
    1                PalmOn         PTP         13     178      0      0    a
    2                NoObject       PTP         255    671      0      0    a
    3                NoObject       PTP         0      0        0      0    a
    4                NoObject       PTP         0      0        0      0    a
    0                PalmOn         PTP         1190   231      0      0    a
    1                PalmOn         PTP         12     177      0      0    a
    2                NoObject       PTP         0      0        0      0    a
    3                NoObject       PTP         0      0        0      0    a
    4                NoObject       PTP         0      0        0      0    a
    NA               NA             NA          NA     NA       2048   1    b
so on with this pattern

期望产出:

代码语言:javascript
复制
finger_index    finger_state    data_source x      y    eventMask  Tap  group
        0                PalmOn         PTP         1155   241      0      0    a
        1                PalmOn         PTP         13     178      0      0    a
        2                FingerOn       PTP         255    671      0      0    a
        3                NoObject       PTP         0      0        0      0    a
        4                NoObject       PTP         0      0        0      0    a
        0                PalmOn         PTP         1155   241      0      0    a
        1                PalmOn         PTP         13     178      0      0    a
        2                FingerOn       PTP         255    671      0      0    a
        3                NoObject       PTP         0      0        0      0    a
        4                NoObject       PTP         0      0        0      0    a
        0                PalmOn         PTP         1156   241      0      0    a
        1                PalmOn         PTP         13     178      0      0    a
        2                FingerOn       PTP         255    671      0      0    a
        3                NoObject       PTP         0      0        0      0    a
        4                NoObject       PTP         0      0        0      0    a
        0                PalmOn         PTP         1161   240      0      0    a
        1                PalmOn         PTP         13     178      0      0    a
        2                FingerOn       PTP         255    671      0      0    a
        3                NoObject       PTP         0      0        0      0    a
        4                NoObject       PTP         0      0        0      0    a
        NA               NA             NA          NA     NA       2048   1    b  

我生成了一组数据,从0到4的finger_index在同一个集合中。

代码语言:javascript
复制
0                PalmOn         PTP         1155   241      0      0    a
1                PalmOn         PTP         13     178      0      0    a
2                FingerOn       PTP         255    671      0      0    a
3                NoObject       PTP         0      0        0      0    a
4                NoObject       PTP         0      0        0      0    a

我想从尾部选择5组行。我不得不忽略没有"FingerOn“的集合。我没有什么占位符,也就是调用组b。我之所以创建组a,b是因为我想使用以下代码:

代码语言:javascript
复制
  # tapFilter <- DT[, if (group[1] != "a") .SD else tail(.SD, 25), # by = .(group, rleid(group))][, -2]

但是,我现在不能使用它,因为我必须跳过集合中没有FingerOn的集合。

我认为更容易的版本是使用data.table。我怎样才能完成这项任务?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-04-07 08:06:26

我不太清楚你想要什么,但是看看这个解决方案。相应地替换数据集和"time_stamp“变量的名称。

代码语言:javascript
复制
library(dplyr)
df_filtered <- df %>%
  group_by(time_stamp) %>%
  filter(any(finger_state == "FingerOn")) %>% 
  ungroup() %>% 
  tail(., n=25)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71778208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档