Finde Indizes von 5 am nächsten liegenden Samples in der Entfernungsmatrix

8

Benutzer

Ich habe eine Entfernungsmatrix dMat und möchte die 5 nächstliegenden Samples zum ersten finden. Welche Funktion kann ich in R verwenden? Ich weiß, wie man die nächste Probe findet (vgl. 3. Codezeile), kann aber nicht herausfinden, wie man die anderen 4 Proben erhält.

Der Code:

%Vor%

Die dritte Codezeile findet den Index des nächsten Beispiels zum ersten Beispiel.

Danke für jede Hilfe!

Am besten, Chega

    
Chega 16.01.2013, 10:09
quelle

2 Antworten

6

Sie können order dazu verwenden:

%Vor%

Beachten Sie, dass ich den ersten entfernt habe, da Sie vermutlich nicht berücksichtigen wollen, dass Ihr Referenzpunkt 0 Abstand von sich selbst entfernt.

    
James 16.01.2013, 10:26
quelle
5

Alternative mit sort :

%Vor%

Es wäre nett, ein set.seed(.) hinzuzufügen, wenn random numbers in der Matrix verwendet wird, so dass wir zeigen könnten, dass die Ergebnisse identisch sind. Ich werde die Ergebnisse hier überspringen.

Bearbeiten (korrekte Lösung): Die obige Lösung funktioniert nur, wenn das erste Element immer das kleinste ist! Hier ist die richtige Lösung, die dem ersten Element der Spalte immer die 5 nächsten Werte gibt:

%Vor%

Beispiel:

%Vor%     
Arun 16.01.2013 10:46
quelle

Tags und Links