在R中,在位置之前找到向量的最大值的最常用的方法是什么?

时间:2018-02-13 16:08:15

标签: r max

从数值向量中,我想获得一个相同长度的向量,其中包含找到的最大值,直到该位置为值。

我可以使用示例中的for循环获取此类结果(或使用Rcpp获得更快的结果),但我想知道是否有更惯用的方法来执行此操作,或者内置函数是否已存在于一些包。

vector <- c(1L,2L,3L,2L,2L,4L,5L,1L,2L,3L,6L,7L,3L)
initialMax <- -1L
result <- vector
N <- length(vector)

for(i in 1:N){
  if(vector[i]>initialMax){

    result[i:N] <- vector[i]
    initialMax <- vector[i]

  }
}

1 个答案:

答案 0 :(得分:-1)

不确定你到底想要什么。但这是我的镜头。

这为您提供了{ "Name" : "Humberg", "Age" : { "Creation" : "2016-01-01T00:00:00.0000000-00:00" } } ,其最大值从开始到结束。

我认为使用list()因此list()会使用R为您带来惯用的方向。

在此处使用包lapply中的管道。不是惯用的,但使事情变得更容易。

magrittr