我正在尝试制作一个函数来确定数据框列中的值是否是新高。例如,如果我有以下数据:
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