使用局部最小值和全局最大值查找范围内的所有数字

the_darkside

我有一个testData由许多唯一 ID 组成的数据框我的目标是确定的ID是否包含所有可能的整数的范围内monthydayweek 其中min为每个ID和max的第一个值是在塔的整个范围内的最大值

请注意这与此处相关问题不同

换句话说,如果id在范围内具有所有可能的值month,那么它应该接收一个t例如,在monthwhere id= 1 下,最小值为 2,整列的最大值为 5,因此 1 应为真,因为存在值 2、3、4 和 5。id然而,Where = 2,只有值 1、2、4 和 5,所以 3 被跳过,因此 2 应该收到一个f.

到目前为止,我有一个公式,它采用列的整个范围内的所有值(但不是每个的最小值id):

library(data.table)
setDT(testData)
output<-testData[,.(month=all(unique(testData$month)%in%.SD$month),yday=all(unique(testData$yday)%in%.SD$yday),week=all(unique(testData$week)%in%.SD$week)),by=(id)]

任何想法我怎么能融入min其中,min为每最小值id,并max在范围内的最大价值?

> testData
   id month yday week
1   1     2    1    1
2   3     1    2    1
3   4     1    3    1
4   2     1    4    1
5   3     3    5    2
6   4     3    6    3
7   2     2    7    1
8   3     1    8    3
9   1     2    9    2
10  5     4   10    3
11  3     2   11    1
12  4     4   12    1
13  5     4   13    2
14  1     3   14    3
15  1     4   15    1
16  1     5   16    2
17  2     4   17    3
18  2     5   18    1
19  5     5   19    1


> dput(testData)
structure(list(id = c(1L, 3L, 4L, 2L, 3L, 4L, 2L, 3L, 1L, 5L, 
3L, 4L, 5L, 1L, 1L, 1L, 2L, 2L, 5L), month = c(2L, 1L, 1L, 1L, 
3L, 3L, 2L, 1L, 2L, 4L, 2L, 4L, 4L, 3L, 4L, 5L, 4L, 5L, 5L), 
    yday = 1:19, week = c(1L, 1L, 1L, 1L, 2L, 3L, 1L, 3L, 2L, 
    3L, 1L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 1L)), .Names = c("id", 
"month", "yday", "week"), class = "data.frame", row.names = c(NA, 
-19L))

最后,输出应如下所示:

> output
  id month yday week
1  1     t    f    t
2  2     f    f    f
3  3     f    f    t
4  4     f    f    f
5  5     t    f    t
安德鲁·莱克

使用dplyr您可以分组id,然后只需检查范围的所有元素是否都在每个组的值中。请注意,min(month)给出分组id变量max(testData$month)的最小值,但给出整个列表的最大值。

library(dplyr)
tD2 <- testData %>% group_by(id) %>% 
  summarise(month=all(min(month):max(testData$month) %in% month),
            yday=all(min(yday):max(testData$yday) %in% yday),
            week=all(min(week):max(testData$week) %in% week))

tD2
# A tibble: 5 × 4
     id month  yday  week
  <int> <lgl> <lgl> <lgl>
1     1  TRUE FALSE  TRUE
2     2 FALSE FALSE FALSE
3     3 FALSE FALSE  TRUE
4     4 FALSE FALSE FALSE
5     5  TRUE FALSE  TRUE

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在范围内查找最小值和最大值

来自分类Dev

查找数字范围内包含的记录(最小值-最大值)

来自分类Dev

特定范围内Python中NumPy数组的最小值和最大值

来自分类Dev

如何在列表中找到所有局部最大值和最小值

来自分类Dev

查找局部最小值和局部最大值

来自分类Dev

Excel VBA根据对应范围的最小值到最大值查找范围内的单元格地址

来自分类Dev

使用awk查找最小值和最大值?

来自分类Dev

在 matlab 中查找在数组或矩阵范围内计算的最小值或最大值的索引

来自分类Dev

如何使用SPSS查找所有变量的最大值和最小值并在表格中显示?

来自分类Dev

使用awk或shell脚本在局部极值中找到全局最小值/最大值

来自分类Dev

不同日期时间范围内的最小值/最大值

来自分类Dev

打印出列表中某个范围内的最大值/最小值

来自分类Dev

熊猫数据框查找局部最大值和最小值之和

来自分类Dev

查找24小时范围内的最大值,并提取该行的所有属性

来自分类Dev

确定滑块范围的最小值和最大值

来自分类Dev

地址范围的最小值,最大值和步长

来自分类Dev

标识滑块范围的最小值和最大值

来自分类Dev

生成包含最小值和最大值的数字范围的列表

来自分类Dev

查找函数的最小值和最大值

来自分类Dev

在.json中查找最大值和最小值

来自分类Dev

awk查找数组的最小值和最大值

来自分类Dev

在.json中查找最大值和最小值

来自分类Dev

查找矩阵的最大值和最小值

来自分类Dev

在数字序列中查找错过的最大值和最小值

来自分类Dev

从C ++中的向量中找出局部最大值/局部最小值(范围)的数量

来自分类Dev

从C ++中的向量中找出局部最大值/局部最小值(范围)的数量

来自分类Dev

使用Comparable查找最大值/最小值

来自分类Dev

找出每组内的最大值和最小值

来自分类Dev

Pyspark - 从具有最小值和最大值范围的数组中获取值

Related 相关文章

  1. 1

    在范围内查找最小值和最大值

  2. 2

    查找数字范围内包含的记录(最小值-最大值)

  3. 3

    特定范围内Python中NumPy数组的最小值和最大值

  4. 4

    如何在列表中找到所有局部最大值和最小值

  5. 5

    查找局部最小值和局部最大值

  6. 6

    Excel VBA根据对应范围的最小值到最大值查找范围内的单元格地址

  7. 7

    使用awk查找最小值和最大值?

  8. 8

    在 matlab 中查找在数组或矩阵范围内计算的最小值或最大值的索引

  9. 9

    如何使用SPSS查找所有变量的最大值和最小值并在表格中显示?

  10. 10

    使用awk或shell脚本在局部极值中找到全局最小值/最大值

  11. 11

    不同日期时间范围内的最小值/最大值

  12. 12

    打印出列表中某个范围内的最大值/最小值

  13. 13

    熊猫数据框查找局部最大值和最小值之和

  14. 14

    查找24小时范围内的最大值,并提取该行的所有属性

  15. 15

    确定滑块范围的最小值和最大值

  16. 16

    地址范围的最小值,最大值和步长

  17. 17

    标识滑块范围的最小值和最大值

  18. 18

    生成包含最小值和最大值的数字范围的列表

  19. 19

    查找函数的最小值和最大值

  20. 20

    在.json中查找最大值和最小值

  21. 21

    awk查找数组的最小值和最大值

  22. 22

    在.json中查找最大值和最小值

  23. 23

    查找矩阵的最大值和最小值

  24. 24

    在数字序列中查找错过的最大值和最小值

  25. 25

    从C ++中的向量中找出局部最大值/局部最小值(范围)的数量

  26. 26

    从C ++中的向量中找出局部最大值/局部最小值(范围)的数量

  27. 27

    使用Comparable查找最大值/最小值

  28. 28

    找出每组内的最大值和最小值

  29. 29

    Pyspark - 从具有最小值和最大值范围的数组中获取值

热门标签

归档