Ich habe eine data.frame
, bestehend aus zwei Spalten, die row.names
und colnames
einer numerischen Matrix entsprechen. Zum Beispiel:Referenzieren Matrixelemente für eine Liste von row.names und colnames
myDF <- data.frame(curr1 = sample(row.names(euro.cross), 5),
curr2 = sample(colnames(euro.cross), 5))
Ich versuche, einen Vektor zurück, die gleiche Länge wie nrow(myDF)
, die die Elemente von euro.cross
entsprechenden mit den Werten in myDF$curr1
und myDF$curr2
enthält. Dies ist für ein Element trivial. Zum Beispiel entspricht die erste Zeile in myDF
dem Wert euro.cross[myDF$curr1[1], myDF$curr2[1]]
. Wenn ich jedoch Vektoren an die eckigen Klammern übergebe, wird eine Matrix zurückgegeben (d. H. euro.cross[myDF$curr1, myDF$curr2]
gibt eine Matrix anstelle eines Vektors von length(myDF$curr1)
zurück).
Wie vektorisiert ich diesen Vorgang so, dass ich so etwas wie zu tun:
myDF$rate <- euro.cross[myDF$curr1, myDF$curr2]
Offensichtlich konnte ich eine Schleife durchführen, aber ich bin auf der Suche für einen eleganteren Weg, es zu codieren. Hatte keinen Erfolg mit anwenden Funktionen bisher.
Danke!