Zeilen vertauschen

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Antworten
FridaKoriander
Beiträge: 37
Registriert: Do Dez 01, 2016 9:08 pm

Zeilen vertauschen

Beitrag von FridaKoriander »

Hallo zusammen,

ich würde in meinem Datenset gerne einzelne Zeilen vertauschen und habe bisher keine passende Antwort im Netz gefunden.
Beispiel: Eine Variable ist dreifach gestuft: A, B und C und in meinem Datenset nach A - B - C geordnet. Ich möchte nun jedoch B und C vertauschen, so dass die Reihenfolge A - C - B ist.

Also
Wert 1 A
Wert 2 B
Wert 3 C
Wert 4 A
Wert 5 B
Wert 6 C
usw...
soll zu
Wert 1 A
Wert 3 C
Wert 2 B
Wert 4 A
Wert 6 C
Wert 5 B
Wäre dankbar für einen Tipp!

Liebe Grüße!
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Zeilen vertauschen

Beitrag von jogo »

Code: Alles auswählen

Dataset[rep(seq(0,nrow(Dataset)-1,3), each=3) + c(1,3,2), ]
Gruß, Jörg
FridaKoriander
Beiträge: 37
Registriert: Do Dez 01, 2016 9:08 pm

Re: Zeilen vertauschen

Beitrag von FridaKoriander »

Klappt wunderbar!

Vielen Dank!
FridaKoriander
Beiträge: 37
Registriert: Do Dez 01, 2016 9:08 pm

Re: Zeilen vertauschen

Beitrag von FridaKoriander »

Jetzt hätte ich doch noch eine Frage...wie kann man denn dann bei einem Datenset bspw mit 9 Zeilen die Zeilen 4,5,6 mit 7,8,9 vertauschen?
Also so dass man die Reihenfolge 1,2,3,7,8,9,4,5,6 hat...?

Danke schon mal!
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

Re: Zeilen vertauschen

Beitrag von bigben »

Code: Alles auswählen

bsp <- data.frame(zahlen = 1:9, buchstaben = LETTERS[1:9])
bsp
bsp2 <- bsp[c(1,2,3,7,8,9,4,5,6),]
bsp2
LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
FridaKoriander
Beiträge: 37
Registriert: Do Dez 01, 2016 9:08 pm

Re: Zeilen vertauschen

Beitrag von FridaKoriander »

Top!
Vielen Dank!
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Zeilen vertauschen

Beitrag von jogo »

auch dies geht:

Code: Alles auswählen

bsp <- data.frame(zahlen = 1:9, buchstaben = LETTERS[1:9])
set.seed(305100)
bsp[sample(9),]
:mrgreen:

Gruß, Jörg
bigben
Beiträge: 2777
Registriert: Mi Okt 12, 2016 9:09 am

Re: Zeilen vertauschen

Beitrag von bigben »

Ja neee, is klaaar, ne?

Haste das wenigstens elegant parallelisiert, oder einfach drauf los...?
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Zeilen vertauschen

Beitrag von jogo »

Neben meiner Glaskugel liegt immer eine Brechstange für die hartnäckigen Fälle. ;)

hier die verwendete Brechstange:

Code: Alles auswählen

for (s in 1000:1000000) {
  set.seed(s)
  if (all(sample(9)==c(c(1,2,3,7,8,9,4,5,6)))) { print(s); break }
}
Antworten