Seite 1 von 1
Reihenfolge ändern
Verfasst: Di Okt 27, 2020 5:38 pm
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
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
Re: Reihenfolge ändern
Verfasst: Di Okt 27, 2020 7:04 pm
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
Re: Reihenfolge ändern
Verfasst: Di Okt 27, 2020 7:27 pm
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 )
Re: Reihenfolge ändern
Verfasst: Di Okt 27, 2020 10:05 pm
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
Re: Reihenfolge ändern
Verfasst: Di Okt 27, 2020 10:34 pm
von EDi
Oder alles in Sekunden umwandeln und als numerisch betrachten...
Re: Reihenfolge ändern
Verfasst: Mi Okt 28, 2020 3:49 pm
von sonsch
Vielen, vielen Dank, Bernhard!
Hat gut geklappt
Alles in Sekunden umwandeln wäre für mich die "ultima ratio" gewesen, da ich es so viel anschaulicher finde
LG