Wie swap-Werte zwischen zwei Spalten

Habe ich einen Daten-frame mit drei Variablen und 250K Datensätze. Als Beispiel betrachten wir

df <- data.frame(V1=c(1,2,4), V2=c("a","a","b"), V3=c(2,3,1))
V1 V2 V3
1  a  2
2  a  3
4  b  1

wollen und swap-Werte zwischen V1 und V3 basierend auf dem Wert von V2 wie folgt:
wenn V2 == 'b' dann V1 <- V3 und V3 <- V1
was in

V1 V2 V3
1  a  2
2  a  3
1  b  4

Versuchte ich eine do-Schleife, aber es dauert ewig. Wenn ich mit Perl, es dauert Sekunden. Ich glaube, dass diese Aufgabe erledigt werden kann effizient in R als gut. Anregungen werden geschätzt.

  • Ich bin gespannt, wie diese situation kam, wenn Sie nichts dagegen haben, meine Frage. Ich habe einige Erfahrung mit software, die zumindest etwas speziell für die Arbeit mit survey-Daten, sondern wir Folgen dem trend der Integration mit Datenbanken, Fragen des Daten-Struktur haben begonnen, die kommen und die ich brauchte, um starten Sie denken bewusst darüber, wie wir die store-Inhalte in Tabellen. Das ist, warum ich bin gespannt, wie deine situation kam 🙂
InformationsquelleAutor | 2011-10-12
Schreibe einen Kommentar