Reihenfolge ändern

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

Moderatoren: EDi, jogo

Antworten
sonsch
Beiträge: 9
Registriert: Di Okt 27, 2020 5:03 pm

Reihenfolge ändern

Beitrag von sonsch »

Hallo!
Ich bräuchte mal kurz Hilfe! Bin ein R-Anfänger, möchte aber gerne für meine Diplomarbeit dieses Programm nutzen. :?:

Kurz zusammengefasst geht es um die log. Reduktion von Zellzahlen durch ein bestimmtes Antiseptikums zu gewissen Einwirkzeiten.

Ich habe ein Data-Frame, das ich nach einer bestimmten Spalte ("Zeitpunkte") sortiert habe mit dem Befehl

Code: Alles auswählen

arrange()
Es ist zwar jetzt in einer absteigenden Reihenfolge (120 sec, 30 sec, 5 min, 60 sec), aber es entspricht nicht meiner gewünschten Reihenfolge (30 sec, 60 sec, 120 sec, 5 min). Gibt es hier einen Zusatz, der es mir erlaubt selbst eine Reihenfolge zu bilden?

Ich hoffe mir kann jemand helfen! :)

LG
bigben
Beiträge: 2894
Registriert: Mi Okt 12, 2016 9:09 am

Re: Reihenfolge ändern

Beitrag von bigben »

Du musst den Variablentyp mit ordered() in einen geordneten Faktor aka eine ordinale Variable umwandeln oder die 5 Minuten in 600 Sekunden umwandeln und eine numerische Variable daraus machen.
Poste mal das Ergebnis von

Code: Alles auswählen

str(deindataframe$Zeitpunkte)
table(deindataframe$Zeitpunkte)
LG, Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
sonsch
Beiträge: 9
Registriert: Di Okt 27, 2020 5:03 pm

Re: Reihenfolge ändern

Beitrag von sonsch »

Hallo Bernhard!
Erst mal vielen Dank für Deine schnelle Antwort!

Das kommt dabei raus:

Code: Alles auswählen

str(h2o2_MWtabelle$Einwirkzeit)
 Factor w/ 5 levels "","120 sec","30 sec",..: 2 3 4 5
> table(h2o2_MWtabelle$Einwirkzeit)

        120 sec  30 sec   5 min  60 sec 
      0       1       1       1       1 
      
(hab in der Tabelle die Spalte Zeitpunkte in Einwirkzeit umbenannt )
bigben
Beiträge: 2894
Registriert: Mi Okt 12, 2016 9:09 am

Re: Reihenfolge ändern

Beitrag von bigben »

Code: Alles auswählen

# Du hast sowas hier:
h2o2_MWtabelle <-  data.frame( letter = LETTERS[1:4],
                               number = 1:4,
                               Einwirkzeit = c("120 sec", "30 sec",
                                               "5 min", "60 sec"),
                               stringsAsFactors = TRUE)
str(h2o2_MWtabelle)
head(h2o2_MWtabelle)

# und jetzt die Umwandlung
h2o2_MWtabelle$Einwirkzeit2 <- ordered(h2o2_MWtabelle$Einwirkzeit,
                                      levels = c("30 sec", "60 sec",
                                                 "120 sec", "5 min"))
str(h2o2_MWtabelle)
head(h2o2_MWtabelle)

# und jetzt sortiert nach Einwirkzeit2 anzeigen lassen:
head(h2o2_MWtabelle[order(h2o2_MWtabelle$Einwirkzeit2),])

# richtige Reihenfolge braucht man auch für Grafiken mit ggplot2
library(ggplot2)
ggplot(h2o2_MWtabelle) +
  geom_col(aes(x=Einwirkzeit2, y=number)) # Reihenfolge auf der x-Achse beachten!
HTH,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Benutzeravatar
EDi
Beiträge: 1605
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Reihenfolge ändern

Beitrag von EDi »

Oder alles in Sekunden umwandeln und als numerisch betrachten...
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
sonsch
Beiträge: 9
Registriert: Di Okt 27, 2020 5:03 pm

Re: Reihenfolge ändern

Beitrag von sonsch »

Vielen, vielen Dank, Bernhard!
Hat gut geklappt :D

Alles in Sekunden umwandeln wäre für mich die "ultima ratio" gewesen, da ich es so viel anschaulicher finde ;)

LG
Antworten