/ / eine kurze Frage zum Erhalten der entsprechenden Information einer Matrix von der anderen Matrix in R - r

eine kurze Frage zum Erhalten der entsprechenden Information einer Matrix von der anderen Matrix in R - r

Ich möchte für einen Vektor in Matrix1 entsprechende Namen aus einer anderen Matrix M2 erhalten.

Zum Beispiel, eine Matrix = M1 hat nur Namen, A, B, C, D ,,,, usw. 100 * 1 Und andere Matrix = M2 hat auch diese Namen, aber zufällig in solchen Namen gegriffen, und hat eine weitere Spalte, M2 Größe ist 100 * 2.

Für den Moment möchte ich die entsprechende Information der zweiten Spalte bekommen, um mit Namen von M1 übereinzustimmen. meine Matrix ist zu groß, ohne Forloop zu verwenden, gibt es einen Weg, es schnell zu bekommen?

Danke vielmals,

Antworten:

1 für die Antwort № 1

Ich bin Raten dass du so etwas willst:

M1 <- matrix(LETTERS,ncol=1)
## use data.frame rather than matrix to preserve numeric values in column 2
M2 <- data.frame(sample(LETTERS),1:26)
M2[match(M1[,1],M2[,1]),]

oder M2[match(M1[,1],M2[,1]),2] wenn Sie nur die numerischen Werte möchten.

Dies ist noch einfacher, wenn Sie die Namen als Zeilennamen pflegen:

M2 <- data.frame(1:26,row.names=sample(LETTERS))
M2[M1[,1],]