データ フレームの列の値が新しい高値であるかどうかを判断する関数を作成しようとしています。たとえば、次のデータがあるとします。
x <- rnorm(10,100,sd=5)
x <- data.frame(x)
以前のすべての値のみを考慮した新しい列で TRUE または FALSE を返すにはどうすればよいですか。結果のテーブルは次のようになります。
x new.max
1 102.42810 NA
2 109.22762 TRUE
3 101.97970 FALSE
4 101.49303 FALSE
5 93.30595 FALSE
6 96.77199 FALSE
7 110.96441 TRUE
8 96.27485 FALSE
9 101.77163 FALSE
10 100.78992 FALSE
私が試したら
x$new.max <- ifelse ( x$x == max(x$x) , TRUE, FALSE )
前のすべての値のサブセットではなく、列全体の最大値を計算する結果の表を以下に示します。
x new.max
1 102.42810 FALSE
2 109.22762 FALSE
3 101.97970 FALSE
4 101.49303 FALSE
5 93.30595 FALSE
6 96.77199 FALSE
7 110.96441 TRUE
8 96.27485 FALSE
9 101.77163 FALSE
10 100.78992 FALSE