以前も同じような質問をしましたが、今はその逆に変更しますか? 定義された番号が最後に表示されるグループ内の行を検索したいのですが、この番号がグループに表示されない場合は、次に高い番号が使用されます。
データは次のようになります。
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)
dat <- data.frame(group, value)
dat
まず、グループの値が 3 であるかどうかを検索したいと思います。そうであれば、グループ内の最後の番号 3 の行は「TRUE」としてマークされます。グループ内に番号 3 がない場合は、最初の番号 2 を探します。最後に、各グループには「TRUE」が 1 つだけあります。したがって、「RESULT」列は私の質問の結果になるはずです。今回は質問がより理解できることを願っています。よろしくお願いします。
期待される結果:
group <- c("a", "a", "a", "a", "b", "b", "b", "b", "c", "c", "c", "c")
value <- c(1, 3, 3, 1, 1, 1, 2, 1, 2, 3, 3, 2)
RESULT <- c("FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "FALSE", "TRUE", "FALSE", "FALSE", "FALSE", "TRUE", "FALSE")
target <- data.frame(group, value, RESULT)
target