【问题标题】:Get value from other row in same group in r从r中同一组中的其他行获取值
【发布时间】:2020-04-15 18:23:40
【问题描述】:

我有以下数据集:

date_nba <- tibble::tribble(
   ~idGame, ~slugTeam, ~slugOpponent, ~drebTeam, ~orebTeam,
  20900001,     "NOP",         "TOR",        37,        16,
  20900001,     "TOR",         "NOP",        41,        16,
  20900002,     "LAL",         "LAC",        32,         9,
  20900002,     "LAC",         "LAL",        34,        11
  )

我想创建一个名为 drebOpp 的列,它是来自同一 idGame 中其他 slugTeam 的 drebTeam。所以想要的结果是:

tibble::tribble(
   ~idGame, ~slugTeam, ~slugOpponent, ~drebTeam, ~orebTeam, ~drebOpp,
  20900001,     "NOP",         "TOR",        37,        16,       41,
  20900001,     "TOR",         "NOP",        41,        16,       37,
  20900002,     "LAL",         "LAC",        32,         9,       34,
  20900002,     "LAC",         "LAL",        34,        11,       32
  )

我知道使用 group_by 和 mutate 可能有一个简单的解决方案,但我似乎无法在任何地方找到它。任何帮助,将不胜感激!

【问题讨论】:

    标签: r


    【解决方案1】:

    我们可以通过match做一个群

    library(dplyr)
    date_nba %>% 
      group_by(idGame) %>% 
      mutate(drebOpp = drebTeam[match(slugTeam, slugOpponent)])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多