【发布时间】:2019-01-06 03:37:58
【问题描述】:
下面的数据有一个 IndID 字段以及包含数字的三列,在某些情况下包括 NA,每个 IndID 的行数不同。
library(dplyr)
n = 10
set.seed(123)
dat <- data.frame(IndID = sample(c("AAA", "BBB", "CCC", "DDD"), n, replace = T),
Num1 = c(2,4,2,4,4,1,3,4,3,2),
Num2 = sample(c(1,2,5,8,7,8,NA), n, replace = T),
Num3 = sample(c(NA, NA,NA,8,7,9,NA), n, replace = T)) %>%
arrange(IndID)
head(dat)
IndID Num1 Num2 Num3
1 AAA 1 NA 7
2 BBB 2 NA NA
3 BBB 2 7 7
4 BBB 2 NA NA
5 CCC 3 2 8
6 CCC 3 5 NA
对于每个IndID,我想创建一个新列Max,其中包含Num1:Num3 的最大值。在大多数情况下,这涉及找到跨多行和多列的最大值。在dplyr 中,我错过了最后一步(如下),如果有任何建议,我将不胜感激。
dat %>%
group_by(IndID) %>%
mutate(Max = "???")
【问题讨论】: