满足特定条件时如何删除一组值?

杰森

最初,数据如下所示:

obs gr  x1  x2  gender
1   1   0   4   M
2   1   4   13  M
3   1   13  15  M
4   1   15  15  M
5   2   0   1   F
6   2   1   15  F
7   2   15  19  F
8   2   19  30  F
9   2   30  31  F
10  3   0   2   F
11  3   2   4   F
12  3   4   7   F
13  4   0   1   M
14  4   1   14  M
15  4   14  22  M
16  4   22  31  M
17  4   31  31  M
18  4   31  60  M
19  4   60  60  M

我想使数据看起来像这样:在每个组(“ gr”)中,如果x1和x2的值在任何行中相等,则该组中的所有值都将被删除。因此,新数据应如下所示:

obs gr  x1  x2  gender
1   1   0   1   F
2   1   1   15  F
3   1   15  19  F
4   1   19  30  F
5   1   30  31  F
6   2   0   2   F
7   2   2   4   F
8   2   4   7   F

并且“ gr”列中的数字也应重新排列。也就是说,2gr1,而3gr成为2在这种情况下。

谢谢。

爵士乐

这是一种方法。我相信会有更好的方法。首先,我将数据按分组gr其次,我检查是否存在具有相同值的任何行x1x2如果有这样的行,我要求R赋值1,否则0最后,我曾经filter做过子集。之后,我做了一些工作来gr按您的要求进行更改

group_by(mydf, gr) %>%
mutate(check = ifelse(any(x1 == x2) == TRUE, 1, 0)) %>%
filter(check == 0) %>%
ungroup %>%
mutate(gr = cumsum(c(TRUE, diff(gr) != 0))) %>%
select(-check)

#  obs gr x1 x2 gender
#1   5  1  0  1      F
#2   6  1  1 15      F
#3   7  1 15 19      F
#4   8  1 19 30      F
#5   9  1 30 31      F
#6  10  2  0  2      F
#7  11  2  2  4      F
#8  12  2  4  7      F

更新

多亏akrun的善意建议,我学会了一种处理此案的简洁方法。

group_by(mydf, gr) %>%
filter(!any(x1 == x2)) %>%
ungroup %>%
mutate(obs = 1:n(),
       gr = as.numeric(factor(gr)))

#  obs gr x1 x2 gender
#1   1  1  0  1      F
#2   2  1  1 15      F
#3   3  1 15 19      F
#4   4  1 19 30      F
#5   5  1 30 31      F
#6   6  2  0  2      F
#7   7  2  2  4      F
#8   8  2  4  7      F

数据

mydf <- structure(list(obs = 1:19, gr = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 
2L, 2L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L), x1 = c(0L, 4L, 
13L, 15L, 0L, 1L, 15L, 19L, 30L, 0L, 2L, 4L, 0L, 1L, 14L, 22L, 
31L, 31L, 60L), x2 = c(4L, 13L, 15L, 15L, 1L, 15L, 19L, 30L, 
31L, 2L, 4L, 7L, 1L, 14L, 22L, 31L, 31L, 60L, 60L), gender = structure(c(2L, 
2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L), .Label = c("F", "M"), class = "factor")), .Names = c("obs", 
"gr", "x1", "x2", "gender"), class = "data.frame", row.names = c(NA, 
-19L))

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在SAS中,如果满足特定条件,如何停止标记一组行?

来自分类Dev

在phpmyadmin数据库中返回满足一组特定条件的用户

来自分类Dev

选择一行或多行满足特定条件的组

来自分类Dev

如何计算“ group by”组中满足特定条件的行数

来自分类Dev

当子节点满足特定条件时删除节点

来自分类Dev

如何根据MySQL中的特定条件选择一组最近的记录

来自分类Dev

如何删除满足R中某些特定条件的行

来自分类Dev

每当行满足特定条件时,如何在行之间找到最大值?

来自分类Dev

每当行满足特定条件时,如何在行之间找到最大值?

来自分类常见问题

如果不满足条件,如何删除一组行?

来自分类Dev

如果不满足条件,如何删除一组行?

来自分类Dev

当一行满足 SQL Anywhere 中的“where”条件时如何返回一组行

来自分类Dev

如果值满足特定条件,如何仅包含键

来自分类Dev

如何更改满足特定条件的数据框中的第一个值

来自分类Dev

仅在满足特定条件时如何使用$ addFields(聚合)

来自分类Dev

在MySQL中满足特定条件时如何排除行

来自分类Dev

不满足特定条件时如何插入表格

来自分类Dev

如何仅在满足特定条件时选择记录

来自分类Dev

满足特定条件时,如何在i的任意一侧合并Python列表元素

来自分类Dev

当列满足熊猫中的特定条件时,如何拉一审?

来自分类Dev

删除满足特定条件的行

来自分类Dev

满足特定条件时关闭QMessageBox

来自分类Dev

满足特定条件时关闭 AlertDialog

来自分类Dev

满足特定条件但满足其他条件时仅运行一次功能

来自分类Dev

使用Pandas,如何从一组列中找到最小/最大值和索引,并在相应的一组列上满足条件?

来自分类Dev

如何使用MongoDB聚合框架计算满足特定条件的组数?

来自分类Dev

仅在满足布尔/特定条件时才删除重复项

来自分类Dev

如何在满足给定条件的榆树中创建一组三元组?

来自分类Dev

如何在满足给定条件的榆树中创建一组三元组?

Related 相关文章

  1. 1

    在SAS中,如果满足特定条件,如何停止标记一组行?

  2. 2

    在phpmyadmin数据库中返回满足一组特定条件的用户

  3. 3

    选择一行或多行满足特定条件的组

  4. 4

    如何计算“ group by”组中满足特定条件的行数

  5. 5

    当子节点满足特定条件时删除节点

  6. 6

    如何根据MySQL中的特定条件选择一组最近的记录

  7. 7

    如何删除满足R中某些特定条件的行

  8. 8

    每当行满足特定条件时,如何在行之间找到最大值?

  9. 9

    每当行满足特定条件时,如何在行之间找到最大值?

  10. 10

    如果不满足条件,如何删除一组行?

  11. 11

    如果不满足条件,如何删除一组行?

  12. 12

    当一行满足 SQL Anywhere 中的“where”条件时如何返回一组行

  13. 13

    如果值满足特定条件,如何仅包含键

  14. 14

    如何更改满足特定条件的数据框中的第一个值

  15. 15

    仅在满足特定条件时如何使用$ addFields(聚合)

  16. 16

    在MySQL中满足特定条件时如何排除行

  17. 17

    不满足特定条件时如何插入表格

  18. 18

    如何仅在满足特定条件时选择记录

  19. 19

    满足特定条件时,如何在i的任意一侧合并Python列表元素

  20. 20

    当列满足熊猫中的特定条件时,如何拉一审?

  21. 21

    删除满足特定条件的行

  22. 22

    满足特定条件时关闭QMessageBox

  23. 23

    满足特定条件时关闭 AlertDialog

  24. 24

    满足特定条件但满足其他条件时仅运行一次功能

  25. 25

    使用Pandas,如何从一组列中找到最小/最大值和索引,并在相应的一组列上满足条件?

  26. 26

    如何使用MongoDB聚合框架计算满足特定条件的组数?

  27. 27

    仅在满足布尔/特定条件时才删除重复项

  28. 28

    如何在满足给定条件的榆树中创建一组三元组?

  29. 29

    如何在满足给定条件的榆树中创建一组三元组?

热门标签

归档