【问题标题】:Finding element and index of an element in a vector in R [duplicate]在R中查找向量中元素的元素和索引[重复]
【发布时间】:2017-04-15 15:39:54
【问题描述】:

如何找到小于其前一个元素且小于其在 R 中的下一个元素的向量的第一个元素和元素的索引?

例如,我们有一个这样的向量:

     x=c(100.5, 99, 98.5,95.2,110, 116, 120,130)

我想在 R 中找到这个元素的 95.2 和索引。

【问题讨论】:

  • @thelatemail 抱歉,我错过了部分问题
  • 检查diff从左到右都是负数x[c(FALSE, diff(x) < 0) & rev(c(FALSE, diff(rev(x)) < 0))]

标签: r


【解决方案1】:

我认为这是可行的,但我很高兴被证明是错误的:

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 <- 1:5
idx <- which(diff(sign(diff(x)))==2)+1
idx
#numeric(0)

【讨论】:

    【解决方案2】:

    我们可以试试

    i1 <- which(c(x[-1] > x[-length(x)] & x[-length(x)] < x[-1]), FALSE)[1]
    x[i1]
    #[1] 95.2
    

    【讨论】:

      猜你喜欢
      • 2018-08-04
      • 2016-06-11
      • 1970-01-01
      • 2014-09-03
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-31
      相关资源
      最近更新 更多