Вот базовое R-решение
# gives 2x2 table
x <- by(df[, !names(df) %in% c("ID", "Group")], list(df$ID, df$Group), max)
# get requested format
tmp <- expand.grid(ID = rownames(x), Group = colnames(x))
tmp$Max <- as.vector(x)
tmp[complete.cases(tmp), ]
#R ID Group Max
#R 1 a1 abc 11
#R 3 a1 def 5
#R 4 a2 def 11
с
df <- structure(list(
ID = structure(c(1L, 1L, 1L, 2L), .Label = c("a1", "a2"), class = "factor"),
Group = structure(c(1L, 1L, 2L, 2L), .Label = c("abc", "def"), class = "factor"),
Score1 = c(10L, 0L, 0L, 5L), Score2 = c(0L, 0L, 5L, 10L),
Score3 = c(0L, 11L, 2L, 11L)),
class = "data.frame", row.names = c(NA, -4L))
Для CORS AWS API Gateway всегда включает метод OPTIONS, чтобы разрешить предварительную проверку. Вы можете прочитать больше об этом в документах .
Причина, по которой вы видите предпечатную ошибку в вашем браузере, потому что 403 Запрещено поступает от вашего Custom Authorizer. Custom Authorizer не возвращает заголовки, поэтому вы всегда увидите ошибку предпечатной проверки, если запрос был отклонен Custom Authorzer.
Для устранения неполадки зарегистрируйте политику, которую возвращает ваш Custom Authorizer. Вы можете увидеть это в CloudWatch. Политика должна содержать инструкцию Allow для запрашиваемого ресурса.