Как найти три ближайших (ближайших) значения в векторе?

Я хотел бы узнать три ближайших числа в векторе. Нечто подобное

v = c(10,23,25,26,38,50)
c = findClosest(v,3)
c
23 25 26

я пробовал с sort(colSums(as.matrix(dist(x))))[1:3], и это отчасти работает, но он выбирает три числа с минимальным общим расстоянием, а не три ближайших числа.

Уже есть ответ для matlab, но я не знаю, как перевести его в R:

%finds the index with the minimal difference in A
minDiffInd = find(abs(diff(A))==min(abs(diff(A))));
%extract this index, and it's neighbor index from A
val1 = A(minDiffInd);
val2 = A(minDiffInd+1);

Как найти два ближайших (ближайших) значения внутри вектора в MATLAB?

14
задан Shaido 29 August 2019 в 07:22
поделиться

1 ответ

Для использования в кадре данных,

data%>%
group_by(var1,var2)%>%
do(data.frame(findClosest(.$val,3)))
0
ответ дан hnguyen 25 October 2019 в 06:41
поделиться
  • 1
    Как веб-сайты находится все еще в предварительном просмотре нет никакой встроенной функции, доступной для хранения его активным. Вы должны были бы или добавить некоторый сценарий или иметь некоторое живое соединение в наличии для удовлетворения потребностей. Возможно иметь что-то встроенная функция, доступная, когда функция веб-сайтов достигает к GA для удовлетворения таких потребностей с зарезервированным экземпляром. – AvkashChauhan 26 November 2012 в 14:30
Другие вопросы по тегам:

Похожие вопросы: