Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
求R中向量中的元素及其索引_R - Fatal编程技术网

求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)]

我怎样才能找到向量的第一个元素和元素的索引,它比前一个元素小,比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[-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)