which(list <= sort(list, decreasing=FALSE)[3], arr.ind=TRUE)
我想找到3个最低值的索引,但条件是找到的最小值的索引彼此相差至少3个点。 找到我正在使用的3个最低指数
list<-c(1,3,9,5,9,9,2)
,它不会在
中查找任何条件和结果1,2,3
我想要的结果是
1,9,4
我想知道是否可以在没有任何循环的情况下这样做,因为我的列表要大得多。
提前非常感谢你。
澄清我的意思:最小值的指数必须始终在一定距离内。例如,对于列表
1,7,4
,最小值的结果应为1,7,2
。不是function openModal(modalRequestData){ var promise = generateModalPromise(modalRequestData); promise.then(function(response){ //do some stuff if(response){ var httpPromise = //make http call httpPromise.then(function(out){ //do some stuff regarding result of http call } modalRequestData.functionToCall(httpPromise); } } }
,因为索引1和2太靠近了。 再次感谢你帮助我。
答案 0 :(得分:1)
使用dplyr尝试: 在第二列中创建一个包含序列的数据框,然后排序并找到第一个出现
library(dplyr)
kk <- data.frame(cbind(list, seq=seq_along(list))) %>%
arrange(list) %>% # sort list
group_by(list) %>% # group
summarise(V3=min(seq)) %>% # find first occurance
.$V3 %>% # get sequence values
head(3) # get top 3
[1] 1 9 4