2016-07-29 11 views
0

Ich versuche in den letzten Jahren eine Entfernungsmatrix von Daten aus bestimmten US-Staaten zu erstellen. Im Moment sind die Daten in der Form:Distanzmatrix erstellen, wenn jede Variable mehrere Bedingungen hat?

 
State Condition 2016 2015 2014 2013 
Alabama   A  1  2  3  4 
Alaska   A  2  3  4  5 
Arizona   A  3  4  5  6 
Alabama   B  4  3  2  1 
Alaska   B  5  4  3  2 
Arizona   B  6  5  4  3 
Alabama   C  3  4  5  6 
Alaska   C  2  3  4  5 
Arizona   C  1  2  3  4 

nun in einer normalen Distanzmatrix, würde es nur sein 1 Zeile für jeden Staat, und dann könnte man dist() auf den verbleibenden numerischen Matrix verwenden. Da jedoch jeder Staat 3 verschiedene Bedingungen hat, wird dist() nicht funktionieren, und ich frage mich, wie man eine Abstandsmatrix erstellt, die für jede dieser Bedingungen für verschiedene Jahre gilt. Sollte ich meine Daten anders darstellen? Oder gibt es eine Abstandsmatrix-Berechnungsfunktion, die meine Bedingungen berücksichtigt?

Ich bin für eine Distanzmatrix in Form suchen:

 
       Alabama Alaska Arizona 
    Alabama   -  1   2 
    Alaska   1  -   3 
    Arizona   2  3   - 

Dies ist, was die Distanzmatrix aussehen würde, wenn, sagen wir, ich es gefiltert df %>% filter(Condition=='A') %>% dist() verwenden. Ich möchte jedoch wissen, wie man eine ähnliche Ausgabe erstellt und gleichzeitig die Daten für alle 3 Bedingungen speichert.

+0

Nun, wie definieren Sie in diesem Fall die Entfernung? Was sind die Werte, die Sie tatsächlich berechnen möchten? Teilen Sie uns die gewünschte Ausgabe mit und wir können Ihnen vielleicht helfen. Wenn Sie nicht wissen, was Sie wollen, dann ist dies keine Programmierfrage und gehört nicht auf diese Seite. Sie könnten sich auch andere Stack Exchange Sites wie [stats.se] oder [datascience.se] anschauen. – MrFlick

+0

EDIT: nicht richtig angezeigt, also habe ich den ursprünglichen Post bearbeitet –

+0

Fertig. Originalpost enthält mein gewünschtes Ausgabeformat. –

Antwort

0

Sie können Ihre Daten um eine Zeile pro Status und eine Spalte pro condition_year schwenken.

Dann könnten Sie eine der Standard-Vektor-Distanz-Metriken verwenden. Aber Sie sollten viel Aufmerksamkeit auf Vorverarbeitung, Skalierung, Normalisierung, Gewichtung geben.

Verwandte Themen