我有一个包含工资记录的 df 。对于每个重复的 PersonID-CalendarYear 组合,我想保留 WagesQ1:WagesQ4 列中的最高值。我还希望这些值都位于同一行。
例如,PersonID #49 有 3 行代表 2017 年。我想保留每个工资列中的最高值,这样我最终会得到 1 行代表 PersonID #49 和 2017 年。
到目前为止,我尝试了以下操作,但这会将每个 PersonID-CalendarYear 组合重复 4 次,这根本不是我想要的。
test <- Emp %>%
group_by(PersonID, CalendarYear) %>%
slice(which.max(WagesQ1),
which.max(WagesQ2),
which.max(WagesQ3),
which.max(WagesQ4))
Run Code Online (Sandbox Code Playgroud)
我在这里分享 df 的前 50 行:
structure(list(PersonID = c("30", "30", "30", "30", "30", "30",
"30", "30", "30", "30", "30", "30", "30", "30", "30", "30", "30",
"30", "30", "30", "30", "30", "36", "49", "49", "49", "49", "49",
"49", "49", "49", "49", "49", "49", …Run Code Online (Sandbox Code Playgroud)