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

楊__羊羊
TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊
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 關(guān)注
- 598 瀏覽
添加回答
舉報(bào)
0/150
提交
取消