Angenommen, ich habe eine Matrix von Werten und einen Vektor, der mir für jede Zeile der Matrix sagt, auf welche (eine!) Spalte ich zugreifen möchte. Wie erhalte ich ohne eine Schleife diese Werte?Subsetting einer Matrix mit einem Vektor von Indizes
Daten:
dta <- structure(c(0.02, 0.01, 0, 0.08, 0.18, 0.01, 0.12, 0, 0.03, 0,
0.95, 0.96, 0.94, 0.97, 0.98, 0.95, 0.99, 0.91, 0.96, 0.98,
0.98, 0.99, 1, 0.92, 0.82, 0.99, 0.88, 1, 0.97, 1,
0.05, 0.04, 0.06, 0.03, 0.02, 0.05, 0.01, 0.09, 0.04, 0.02),
.Dim = c(20L, 2L), .Dimnames = list(NULL, c("1", "2")))
Vektor von Indizes:
idx <- c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L)
gewünschte Ausgabe:
0.98
0.98
0.99
0.91
0.82
0.99
0.88
0.99
0.96
0.99
0.95
0.96
0.94
0.96
0.97
0.94
0.98
0.91
0.96
0.97
Hintergrund: e1071::cmeans
kehrt membership
, die Zugehörigkeitswerte aller Punkte zu allen Clustern, und cluster
, der wahrscheinlichste Cluster. Ich möchte, dass ein Vektor der Zugehörigkeitswerte der wahrscheinlichsten Cluster transparente Farben für ein Cluster-Diagramm erzeugt.
Sie richtig sind, ist der Vektor der gleichen Länge wie die Matrix. – sebastianmm