Seite 1 von 1

Nach bestimmten Zeilen filtern und Skalierung bearbeiten

Verfasst: Mo Mär 18, 2019 5:25 pm
von Myllareii
Hallo zusammen,

Bin recht neu auf dem Gebiet in R. Ich hab eine Spalte in der die Informationen 1,2 und NA enthalten sind.

Ich möchte in der Spalte alle NA rausfiltern bzw. eleminieren, sodass ich nur noch 1+2 drin habe.

Diese Daten möchte ich anschließend als Balkendiagramm darstellen, dafür würde ich die Funktion barplot verwenden. Allerdings möchte ich anschließend die Achsen bearbeiten, sodass 1 für Online und 2 für Offline steht. Auch das Diagramm möchte ich, wie in Excel, mit einem Namen versehen.

Ich weiß, scheint vllt relativ simpel zu sein, aber leider komme ich nicht weiter.

Über eine Rückmeldung freue ich mich ;)

Re: Nach bestimmten Zeilen filtern und Skalierung bearbeiten

Verfasst: Mo Mär 18, 2019 6:00 pm
von Hufeisen
Dann zeig doch mal, was du bisher gemacht hast, was funktioniert und wo es klemmt. Das ist, glaube ich, besser, als hier eine fertige Lösung hin zu basteln.

Re: Nach bestimmten Zeilen filtern und Skalierung bearbeiten

Verfasst: Mo Mär 18, 2019 6:11 pm
von Myllareii
Aktuell habe ich erstmal nur die Datei eingespielt. Meine Informationen sind in V1, die ich auswerten möchte. Wenn ich eine Skalierung nach Alter (z. B. 12-17 Jahren) machen kann, wäre es sogar noch besser.

Im Diagramm selbst, will ich die NAs nicht angezeigt bekommen.
Screenshot
Screenshot

Re: Nach bestimmten Zeilen filtern und Skalierung bearbeiten

Verfasst: Mo Mär 18, 2019 7:12 pm
von Hufeisen
Hallo,

erst mal zu den fehlenden Werten. Bei mir werden die standardmäßig gar nicht von table() mitgezählt und dementsprechend auch nicht von barplot() geplottet. Kann es sein, dass V1 nicht als numerische Variable eingelesen wurde? Das könntest du mit str(Gesamt_Informationsverhalten) überprüfen. Man kann im Funktionsaufruf von table() das Argument useNA = c("no", "ifany", "always") übergeben. Hier müsste table(deineDaten, useNA = "no") Abhilfe schaffen.

Code: Alles auswählen

# Beispieldaten erzeugen
set.seed(1)
forum <- data.frame(APN = round(runif(20, 1, 15)), V1 = sample(c(1, 2, NA), 20, replace = TRUE), Alter = round(runif(20, 18, 75)))
head(forum)

# Output 
sum(is.na(forum$V1)) # es gibt NA
# [1] 6

table(forum$V1) # NA wird nicht mit gezählt
# 1 2 
# 6 8

barplot(table(forum$V1))

# Balken beschriften
barplot(table(forum$V1), names.arg = c("Online", "Offline"))