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期望产出:
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在同一个集合中。
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是因为我想使用以下代码:
# tapFilter <- DT[, if (group[1] != "a") .SD else tail(.SD, 25), # by = .(group, rleid(group))][, -2]但是,我现在不能使用它,因为我必须跳过集合中没有FingerOn的集合。
我认为更容易的版本是使用data.table。我怎样才能完成这项任务?谢谢!
发布于 2022-04-07 08:06:26
我不太清楚你想要什么,但是看看这个解决方案。相应地替换数据集和"time_stamp“变量的名称。
library(dplyr)
df_filtered <- df %>%
group_by(time_stamp) %>%
filter(any(finger_state == "FingerOn")) %>%
ungroup() %>%
tail(., n=25)https://stackoverflow.com/questions/71778208
复制相似问题