R过滤包含NA的行的一部分之前的第一个点和之后的最后一个点

莫莉·韦斯特布鲁克

使用跟踪对象的XY位置的跟踪数据。我的数据的可复制示例:

trial <- c(rep(1, 25), rep(2, 25), rep(3, 25))
timemini <- c(1:25)
time <- c(rep(timemini, 3))
Y <- c(NA, NA, 3:10, NA, NA, NA, NA, NA, 16:25, NA, NA, NA, 48:55, NA, NA, NA, NA, NA, NA, NA, NA, 64:69, NA, 36:37, NA, 39:40, NA, 42:45, NA, NA, NA, NA, NA, 51:59)
example <- as.data.frame(cbind(trial, time, Y))

我对筛选NA以及每个NA周期之前的第一个点和之后的最后一个点很感兴趣,而不管NA周期有多长(短至一个点,有时长达100左右) 。

我可以使用以下代码过滤掉NA本身没有问题:

NA.from.example <- example %>%
  filter(is.na(Y))

试图用这个问题来解决这个问题,但是我能做的就是做到这一点,它只过滤掉每个NA的第一个实例(这是每次试验的第一点,因为跟踪器在此之前需要移动几帧可以找到对象。

NAsandwich <- example %>%
  group_by(trial) %>%
  slice(max(1, match(TRUE, is.na(Y)) - 5):match(TRUE, is.na(Y)))

任何帮助,将不胜感激!我通常使用dplyr,但是任何可行的解决方案都可以。

编辑

这是我期望的预期输出:

subset <- example[c(1:3, 10:16, 26:29, 36:45, 51:52, 53:55, 56:58, 61:67),]

每个试用版始终以NA开头,因此我不需要之前的要点,但是我通常在管道中使用group_by(trial)运行代码。我不知道这是否适用。

阿克伦

这是一个选择 rleid

library(dplyr)
library(data.table)
example %>%
     group_by(trial) %>% 
     group_by(grp = rleid(!is.na(Y)), .add = TRUE) %>% 
     filter(all(is.na(Y))| row_number() %in% c(1, n()))  %>%
     ungroup

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R:data.table,将组的第一个和最后一个值设置为NA

来自分类Dev

用相关R向量的第一个元素系统地替换变量名称的一部分

来自分类Dev

删除最后一个“”之后的字符串的最后一部分。在R中

来自分类Dev

在最后一个正斜杠之前删除字符串的一部分

来自分类Dev

在第一个分号之前提取字符串的一部分

来自分类Dev

如何测试一个点是否是二次贝塞尔曲线的一部分?

来自分类Dev

UICollectionView设置最后一个单元格的一部分

来自分类Dev

AngularJs显示过滤列表的第一个和最后一个

来自分类Dev

删除第一个和最后一个出现列值的行

来自分类Dev

D3折线图,显示第一个和最后一个点的值

来自分类Dev

仅将数据集过滤到R中列的第一个NA之后

来自分类Dev

如何在Mac上的第一个点之后删除文件名的所有部分

来自分类Dev

计算第一个和最后一个出现的数字之间的NA

来自分类Dev

返回每列R的第一个和最后一个非NA值的年份

来自分类Dev

多个第一个和最后一个非NA值(按组)

来自分类Dev

R:删除连接第一个和最后一个点的线

来自分类Dev

正则表达式在没有文件扩展名的最后一个点之后获取文件名的一部分

来自分类Dev

在gnuplot中,第一个点和最后一个点相互连接

来自分类Dev

在第一个字段中用awk替换字符串的一部分

来自分类Dev

找到一行的第一个和最后一个跨度

来自分类Dev

如何测试一个点是否是二次贝塞尔曲线的一部分?

来自分类Dev

删除最后一个字符之后和最后一个点之前的所有空格

来自分类Dev

在最后一个斜杠之前获取行的一部分

来自分类Dev

如果第一个列表包含另一个列表的一部分,则与第二个列表相交

来自分类Dev

高图删除第一个小节之前和最后一个小节之后的空间

来自分类Dev

在比 Excel 窗口宽的 Excel 图表中检测第一个和最后一个可见点

来自分类Dev

如何在cassandra中找到最后一个和第一个条目(日期是分区键的一部分)

来自分类Dev

通过在php中指定第一个和最后一个位置来返回字符串的一部分

来自分类Dev

如何查看数组的一部分,获取特定值的第一个元素

Related 相关文章

  1. 1

    R:data.table,将组的第一个和最后一个值设置为NA

  2. 2

    用相关R向量的第一个元素系统地替换变量名称的一部分

  3. 3

    删除最后一个“”之后的字符串的最后一部分。在R中

  4. 4

    在最后一个正斜杠之前删除字符串的一部分

  5. 5

    在第一个分号之前提取字符串的一部分

  6. 6

    如何测试一个点是否是二次贝塞尔曲线的一部分?

  7. 7

    UICollectionView设置最后一个单元格的一部分

  8. 8

    AngularJs显示过滤列表的第一个和最后一个

  9. 9

    删除第一个和最后一个出现列值的行

  10. 10

    D3折线图,显示第一个和最后一个点的值

  11. 11

    仅将数据集过滤到R中列的第一个NA之后

  12. 12

    如何在Mac上的第一个点之后删除文件名的所有部分

  13. 13

    计算第一个和最后一个出现的数字之间的NA

  14. 14

    返回每列R的第一个和最后一个非NA值的年份

  15. 15

    多个第一个和最后一个非NA值(按组)

  16. 16

    R:删除连接第一个和最后一个点的线

  17. 17

    正则表达式在没有文件扩展名的最后一个点之后获取文件名的一部分

  18. 18

    在gnuplot中,第一个点和最后一个点相互连接

  19. 19

    在第一个字段中用awk替换字符串的一部分

  20. 20

    找到一行的第一个和最后一个跨度

  21. 21

    如何测试一个点是否是二次贝塞尔曲线的一部分?

  22. 22

    删除最后一个字符之后和最后一个点之前的所有空格

  23. 23

    在最后一个斜杠之前获取行的一部分

  24. 24

    如果第一个列表包含另一个列表的一部分,则与第二个列表相交

  25. 25

    高图删除第一个小节之前和最后一个小节之后的空间

  26. 26

    在比 Excel 窗口宽的 Excel 图表中检测第一个和最后一个可见点

  27. 27

    如何在cassandra中找到最后一个和第一个条目(日期是分区键的一部分)

  28. 28

    通过在php中指定第一个和最后一个位置来返回字符串的一部分

  29. 29

    如何查看数组的一部分,获取特定值的第一个元素

热门标签

归档