组中只有它们之间的差异小于“ n”的行

亚当

假设我们有以下数据集,其中的值V2按组升序排列V1

Input =("   V1  V2
1   A   3
2   A   4
3   A   5
4   A   6
5   A   12
6   A   13
7   B   4
8   B   5
9   B   6
10  B   12
11  C   13
12  C   14
13  C   18")

df = as.data.frame(read.table(textConnection(Input), header = T, row.names = 1))

现在,我想保留连续行之间的差异为的行<= 1,因此我想要的输出是:

   V1 V2
1   A  3
2   A  4
3   A  5
4   A  6
5   A 12
6   A 13
7   B  4
8   B  5
9   B  6
11  C 13
12  C 14

但是,当我使用:

df %>%
  group_by(V1) %>%
  filter(c(0,diff(V2)) <= 1)

我有:

   V1       V2
 1 A         3
 2 A         4
 3 A         5
 4 A         6
 5 A        13
 6 B         4
 7 B         5
 8 B         6
 9 C        13
10 C        14

V2缺少值12的行,它应该在数据集中。我也尝试过,lag()但结果是一样的。

df %>%
  group_by(V1) %>%
  filter(V2 - lag(V2) <= 1 | is.na(V2 - lag(V2)))

你能指出我的错误吗?

罗纳克·沙

您需要从两侧减去值。尝试leadlag

library(dplyr)

df %>%
  group_by(V1) %>%
  filter(V2 - lag(V2) <= 1 | V2 - lead(V2) <= 1)

#   V1       V2
#   <chr> <int>
# 1 A         3
# 2 A         4
# 3 A         5
# 4 A         6
# 5 A        12
# 6 A        13
# 7 B         4
# 8 B         5
# 9 B         6
#10 C        13
#11 C        14

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

sql:获取连续的组“ n”行(可以在它们之间)

来自分类Dev

组中两行之间的SQL差异

来自分类Dev

如果两列之间的差异小于2000,如何删除行

来自分类Dev

如果组中第一行和最后一行之间的差异超过值,则熊猫将删除组

来自分类Dev

使用R中的数据表的连续行组之间的差异

来自分类Dev

加入N行组

来自分类Dev

查找两行之间的差异并添加它们

来自分类Dev

Git:当我没有修改它们时,大量空白行显示在差异中

来自分类Dev

为什么 H2O Gains/Lift 表中只有 16 行?它们应该如何解释?

来自分类Dev

具有特定值 (0) 的行与 R 中的下一行之间的差异

来自分类Dev

为多组多级数据结构中的值创建空的缺失行,并计算组内行之间的差异

来自分类Dev

SQL中每6行之间的差异

来自分类Dev

查找具有相同值的行之间的日期之间的差异

来自分类Dev

在Java中,如何以一定的顺序执行代码行并在它们之间有延迟?

来自分类Dev

在Java中,如何以一定的顺序执行代码行并在它们之间有延迟?

来自分类Dev

在匹配行之前打印第n行,匹配行和匹配行中的第n行

来自分类Dev

计算与列值匹配的第一行和n行之间的持续时间/差异

来自分类Dev

Excel:对一组行中的值进行平均,但仅当它们在列中具有特定值时才包括它们

来自分类Dev

dplyr:行之间的差异

来自分类Dev

特定行之间的差异

来自分类Dev

如何选择每组的前两行并在一列中计算它们之间的差异?

来自分类Dev

按日期范围选择和跳过行,并检查它们之间的差异

来自分类Dev

计算具有多个索引列的行之间的差异

来自分类Dev

计算有约束的行中的差异

来自分类Dev

如何从Pandas DataFrame中的每个组中选择具有最高值的N行

来自分类Dev

SQlite只选择它们之间定义有区别的行

来自分类Dev

在EntityFramework中的每个组中选择前n行

来自分类Dev

如何在dplyr中按组删除前n行

来自分类Dev

在EntityFramework中的每个组中选择前n行

Related 相关文章

  1. 1

    sql:获取连续的组“ n”行(可以在它们之间)

  2. 2

    组中两行之间的SQL差异

  3. 3

    如果两列之间的差异小于2000,如何删除行

  4. 4

    如果组中第一行和最后一行之间的差异超过值,则熊猫将删除组

  5. 5

    使用R中的数据表的连续行组之间的差异

  6. 6

    加入N行组

  7. 7

    查找两行之间的差异并添加它们

  8. 8

    Git:当我没有修改它们时,大量空白行显示在差异中

  9. 9

    为什么 H2O Gains/Lift 表中只有 16 行?它们应该如何解释?

  10. 10

    具有特定值 (0) 的行与 R 中的下一行之间的差异

  11. 11

    为多组多级数据结构中的值创建空的缺失行,并计算组内行之间的差异

  12. 12

    SQL中每6行之间的差异

  13. 13

    查找具有相同值的行之间的日期之间的差异

  14. 14

    在Java中,如何以一定的顺序执行代码行并在它们之间有延迟?

  15. 15

    在Java中,如何以一定的顺序执行代码行并在它们之间有延迟?

  16. 16

    在匹配行之前打印第n行,匹配行和匹配行中的第n行

  17. 17

    计算与列值匹配的第一行和n行之间的持续时间/差异

  18. 18

    Excel:对一组行中的值进行平均,但仅当它们在列中具有特定值时才包括它们

  19. 19

    dplyr:行之间的差异

  20. 20

    特定行之间的差异

  21. 21

    如何选择每组的前两行并在一列中计算它们之间的差异?

  22. 22

    按日期范围选择和跳过行,并检查它们之间的差异

  23. 23

    计算具有多个索引列的行之间的差异

  24. 24

    计算有约束的行中的差异

  25. 25

    如何从Pandas DataFrame中的每个组中选择具有最高值的N行

  26. 26

    SQlite只选择它们之间定义有区别的行

  27. 27

    在EntityFramework中的每个组中选择前n行

  28. 28

    如何在dplyr中按组删除前n行

  29. 29

    在EntityFramework中的每个组中选择前n行

热门标签

归档