Ich versuche, basierend auf einem Variablenwert zu filtern, und habe mehrere Kombinationen von Filter_, Punkten und Anführungszeichen vergeblich ausprobiert.R dplyr Auflösungsvariable im Bedingungsfilter
Als Beispiel habe ich eine
runlist = c(1, 2, 3, 4, 5)
und ein Datenrahmen boo
run <- rep(seq(5), 3)
edge1 <- sample(20, 15)
edge2 <- sample(20, 15)
weights <- sample(50, 15)
boo <- as.data.frame(cbind(run, edge1, edge2, weights))
und ich möchte ein Datenrahmen namens Boo filtern, die iterativ so etwas wie aussehen als
for (i in runlist) {
bop <- boo %>% filter(run == i)
str(boo)
}
Ich vermute, ich werde hören, nicht für For-Schleifen und R, sondern uns e group_by(run)
, aber ich diese Daten zu igraph
Senden und muß weiter den Datensatz der Teilmenge Dichte gerade Kanten und Gewichte, so dass der Gruppenvariable zu verlieren, wie in
bop <- boo %>% filter(run == i) %>% select(edge1, edge2, weights)
ich will ein Netzwerkgraphen erstellen und finden und Zentralitätswerte für jeden Lauf.
bing <- graph.data.frame(bop)
Wie erhalte ich die i
in dem bedingten Filter als den richtigen Index zu lösen?
Verwendung 'for (i in einzigartiger (boo $ run))' statt – Nate
@Nate Tag Wow, ja, das funktioniert. Können Sie mir erklären, warum Ihr Vorschlag funktioniert, während 'runlist = unique (boo $ run)' und Indexierung auf 'runlist' nicht funktioniert? Und wie mache ich richtig @ Ihren Griff der ein Leerzeichen hat? – zazizoma