求R中向量中的元素及其索引
我怎样才能找到向量的第一个元素和元素的索引,它比前一个元素小,比R中的下一个元素小 例如,我们有这样一个向量:求R中向量中的元素及其索引,r,R,我怎样才能找到向量的第一个元素和元素的索引,它比前一个元素小,比R中的下一个元素小 例如,我们有这样一个向量: x=c(100.5, 99, 98.5,95.2,110, 116, 120,130) 我想在R中找到这个元素的95.2和索引。我们可以试试 i1 <- which(c(x[-1] > x[-length(x)] & x[-length(x)] < x[-1]), FALSE)[1] x[i1] #[1] 95.2 i1x[-length(x)]
x=c(100.5, 99, 98.5,95.2,110, 116, 120,130)
我想在R中找到这个元素的95.2和索引。我们可以试试
i1 <- which(c(x[-1] > x[-length(x)] & x[-length(x)] < x[-1]), FALSE)[1]
x[i1]
#[1] 95.2
i1x[-length(x)]&x[-length(x)]
我认为这是可行的,但我很高兴被证明是错的:
x <- c(100.5, 99, 98.5, 95.2, 110, 116, 120, 130)
idx <- which(diff(sign(diff(x)))==2)+1
idx
#[1] 4
x[idx]
#[1] 95.2
x@thelatemail抱歉,我刚刚错过了问题的一部分检查从左到右开始的diff
是否定的x[c(FALSE,diff(x)<0)&rev(c(FALSE,diff(rev(x))<0)]
x <- 1:5
idx <- which(diff(sign(diff(x)))==2)+1
idx
#numeric(0)