求局部最大值和極小值我正在尋找一種計算效率高的方法來為R中的大量數字尋找局部極大值/極小值,希望沒有for循環.。例如,如果我有一個數據文件,如1 2 3 2 1 1 2 1,我希望函數返回3和7,這是局部最大值的位置。
3 回答

楊__羊羊
TA貢獻1943條經驗 獲得超7個贊
x <- c(1, 2, 3, 2, 1, 1, 2, 1)library(zoo) xz <- as.zoo(x) rollapply(xz, 3, function(x) which.min(x)==2)# 2 3 4 5 6 7 #FALSE FALSE FALSE TRUE FALSE FALSE rollapply(xz, 3, function(x) which.max(x)==2)# 2 3 4 5 6 7 #FALSE TRUE FALSE FALSE FALSE TRUE
which.min
which.max
.
rxz <- rollapply(xz, 3, function(x) which.max(x)==2) index(rxz)[coredata(rxz)]#[1] 3 7
- 3 回答
- 0 關注
- 601 瀏覽
添加回答
舉報
0/150
提交
取消