【问题标题】:How to indicate two highest observations in group (with two conditions)?如何表示组中的两个最高观察值(有两个条件)?
【发布时间】:2020-12-18 02:08:04
【问题描述】:

根据 Ronak 的要求。这是我的数据集:

Month      Week   Y     Name   Color
January     2     1.2    Joe    Red
January     2     3.3    Eric   Red
January     2     4.5    Mike   Blue
January     2     1.7    Brian  Blue
January     2     2.9    Pete   Red
January     2     6.8    Dave   Red
January     3     4.6    Joe    Red
January     3     5.1    Eric   Blue
January     3     2.1    Mike   Blue
January     3     6.9    Pete   Red
January     3     6.8    Dave   Red

...

我想创建一个新列(“最高”),用于标识在给定周内具有两个最高 Y 值的个人(用 A 和 B 标识他们,这样以后在我的项目中创建线段会更容易) 谁也有“蓝色”的颜色。

Month      Week   Y     Name    Color Highest
January     2     1.2    Joe     Red    -
January     2     3.3    Eric    Red    B
January     2     4.5    Mike    Blue   A
January     2     1.7    Brian   Blue   -
January     2     2.9    Pete    Red    -
January     2     6.8    Dave    Red    -
January     3     4.6    Joe     Red    -
January     3     5.1    Eric    Blue   B
January     3     2.1    Mike    Blue   A
January     3     6.9    Pete    Red    -
January     3     6.8    Dave    Red    -

...

简而言之,我希望新列在第 2 周并且颜色为蓝色时指示最高的两个 Y 值。

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    你可以使用:

    library(dplyr)
    df %>%
      arrange(Month, Week, Color != 'Blue', desc(Y)) %>%
      group_by(Month, Week) %>%
      mutate(Highest = c('A','B', rep('-', n() - 2)))
    
    
    #   Month    Week     Y Name  Color Highest
    #   <chr>   <int> <dbl> <chr> <chr> <chr>  
    # 1 January     2   4.5 Mike  Blue  A      
    # 2 January     2   1.7 Brian Blue  B      
    # 3 January     2   6.8 Dave  Red   -      
    # 4 January     2   3.3 Eric  Red   -      
    # 5 January     2   2.9 Pete  Red   -      
    # 6 January     2   1.2 Joe   Red   -      
    # 7 January     3   5.1 Eric  Blue  A      
    # 8 January     3   2.1 Mike  Blue  B      
    # 9 January     3   6.9 Pete  Red   -      
    #10 January     3   6.8 Dave  Red   -      
    #11 January     3   4.6 Joe   Red   -      
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多