この質問は、私が昨日尋ねた同様の質問を拡張したものです。
定義された番号が初めて表示されるグループ内の行を検索したいと思います。この番号がグループに表示されない場合は、次に高い番号が使用されます。
例えば:
group <- c("a", "a", "a", "a", "b", "b", "b", "b", "c", "c", "c", "c")
value <- c(1, 3, 2, 1, 1, 1, 2, 1, 2, 3, 3, 2)
GOAL <- c("FALSE", "TRUE", "FALSE", "FALSE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE")
data <- data.frame(group, value, GOAL)
data
まず、値 3 のグループを検索したいと思います。存在する場合、グループ内の最初の番号 3 の行は「TRUE」としてマークされ、そうでない場合は最初の値 2 を探します。最後に、各グループには「TRUE」が 1 つだけあります。したがって、「GOAL」列は期待される結果です。