2017-08-08 2 views
2

Gemeinschaft,Abfrage eines data.frame in R

Ich habe einen Datenrahmen. Der Datenrahmen besteht aus Benutzern, hier 'ermu', 'joba' und 'mamu'. Die Werte sind Korrelationswerte basierend auf Bewertungen. Nun möchte ich den Datenrahmen abfragen, indem ich "den Benutzernamen mit der höchsten Korrelation zu meinem aktuellen Benutzer namens" Joba "zeige." Wie erreiche ich das mit R? Hier

ist der Datenrahmen:

  ermu    joba    mamu 
ermu  1.0    -0.83    -0.66 
joba  -0.83    1.0    0.86 
mamu  -0.66    0.86    1.0 

Mit freundlichen Grüßen, Jochen

Antwort

2

könnten Sie setzen die Diagonale zu NA (um die Korrelationen von 1 ausschließen) und Abfrage wie folgt:

diag(df)=NA 
rownames(df)[which.max(df$joba)] 

, die

[1] "mamu" 
zurückgibt 10

Hoffe, das hilft!

+0

Vielen Dank Florian. Das bringt mich zu einer Lösung. Wie auch immer, ich habe einen Fehler, aber ich bin mir ziemlich sicher, dass ich das herausgefunden habe: Fehler in correlationMatrix $ joba: $ operator ist ungültig für atomare Vektoren – Jochen

+0

Wahrscheinlich ist Ihr Datenrahmen kein Datenrahmen, es ist eine Matrix. Sie können 'df = as.data.frame (df)' vor dem Ausführen meines Codes tun, dann sollte es funktionieren. – Florian

+1

Perfekt - es funktioniert! – Jochen