从数值向量中,我想获得一个相同长度的向量,其中包含找到的最大值,直到该位置为值。
我可以使用示例中的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]
}
}
答案 0 :(得分:-1)
不确定你到底想要什么。但这是我的镜头。
这为您提供了{
"Name" : "Humberg",
"Age" : {
"Creation" : "2016-01-01T00:00:00.0000000-00:00"
}
}
,其最大值从开始到结束。
我认为使用list()
因此list()
会使用R为您带来惯用的方向。
在此处使用包lapply
中的管道。不是惯用的,但使事情变得更容易。
magrittr