Seite 1 von 1
Daten aus Matrix filtern
Verfasst: So Nov 18, 2018 12:59 pm
von FR1712
Hallo alle zusammen,
ich habe eine große Datenmatrix vorliegen, deren Einträge allesamt den Datentyp double bzw. NA aufweisen. Ich will mir gern die Spalten als Boxplots im gemeinsamen Diagramm anzeigen lassen. Funktioniert soweit auch alles bestens. Problem ist, dass R die NAs als Einträge vom Wert Null auffasst. Das macht natürlich meine Boxplots kaputt. Prinzipiell darf der Wert 0 nicht auftauchen.
Hat jemand eine Idee, wie ich das Problem lösen kann? Ich will eigentlich nicht für jede Spalte einzeln sagen, dass der Wert größer Null sein soll.
Vielen Dank schonmal!
Re: Daten aus Matrix filtern
Verfasst: So Nov 18, 2018 1:17 pm
von jogo
Hallo FR1712,
kannst Du uns denn ein reproduzierbares Beispiel liefern, siehe
viewtopic.php?f=20&t=11 ?
Gruß, Jörg
Re: Daten aus Matrix filtern
Verfasst: So Nov 18, 2018 1:45 pm
von FR1712
Ja... so sollte das aussehen:
Code: Alles auswählen
'data.frame': 469 obs. of 42 variables:
$ 1815: num NA NA NA NA NA NA NA NA NA NA ...
$ 1816: num 18.5 NA NA NA NA ...
$ 1817: num NA NA 117 NA NA ...
$ 1818: num NA NA 9.27 NA NA ...
$ 1819: num NA NA NA 139 NA ...
$ 1820: num NA NA NA NA NA NA NA NA NA NA ...
$ 1821: num NA NA NA NA NA ...
$ 1822: num NA NA NA NA NA NA NA NA NA NA ...
$ 1823: num NA NA NA NA NA NA NA NA NA NA ...
$ 1824: num NA NA NA NA NA NA NA NA NA NA ...
$ 1825: num NA NA NA NA NA ...
$ 1826: num NA NA NA NA NA ...
$ 1827: num NA NA NA NA NA ...
$ 1828: num NA NA NA NA NA ...
$ 1829: num NA NA 15.15 NA 4.64 ...
$ 1830: num NA NA NA NA 69.6 ...
$ 1831: num NA NA NA NA NA ...
$ 1832: num NA NA NA NA 48.9 ...
$ 1833: num NA NA NA NA NA ...
$ 1834: num NA NA NA NA NA ...
$ 1835: num NA NA NA NA NA NA NA NA NA NA ...
$ 1836: num NA NA NA NA NA ...
$ 1837: num NA NA NA NA NA ...
$ 1838: num NA NA NA NA 92.7 ...
$ 1839: num NA NA NA NA 19.2 ...
$ 1840: num NA NA NA NA NA ...
$ 1841: num NA NA NA NA NA ...
$ 1842: num NA NA NA 154 NA ...
$ 1843: num NA NA 23.4 NA NA ...
$ 1844: num NA NA 413 NA NA ...
$ 1845: num NA NA NA NA NA ...
$ 1846: num NA NA NA NA NA ...
$ 1847: num NA NA NA NA NA ...
$ 1848: num NA 49.5 NA NA NA ...
$ 1849: num NA 383 NA NA NA ...
$ 1850: num NA 43.4 NA NA NA ...
$ 1851: num NA NA NA NA NA ...
$ 1852: num NA NA NA NA NA ...
$ 1853: num NA NA 903 NA NA ...
$ 1854: num NA NA NA NA NA ...
$ 1855: num NA NA NA NA NA NA NA NA NA NA ...
$ 1856: num NA NA NA NA NA ...
Ich will gerne zu jedem Jahr einen Boxplot haben. Wenn ich auf den dataframe einfach boxplot anwende, zeigt mir R das prinzipiell schon erstmal so an, wie ich das möchte, nur dass es die NAs als Nullen behandelt.
Re: Daten aus Matrix filtern
Verfasst: So Nov 18, 2018 4:31 pm
von jogo
Hallo FR1712,
das ist kein reproduzierbares Beispiel! Daraus kann ich Deine Daten nicht rekonstruieren.
Dies ist ein reproduzierbares Beispiel:
Code: Alles auswählen
Iris <- iris
set.seed(42)
Iris[, 1:4] <- lapply(Iris[1:4], function(x) { n <- sample(5:30, 1); x[sample.int(150, n)] <- NA; x })
summary(Iris)
boxplot(Iris[1:4])
Solange Du mir kein anderes reproduzierbares Beispiel lieferst, sollten wir den Sachverhalt an diesen Daten diskutieren. Leider sehe ich das von Dir beschriebene Problem nicht.
Gruß, Jörg
Re: Daten aus Matrix filtern
Verfasst: So Nov 18, 2018 6:11 pm
von FR1712
Hallo Jörg,
bitte um Entschuldigung. Ich habe meinen Fehler gefunden. Dass du das Problem nicht siest, könnte daran liegen, dass es gar nicht in der Form bestanden hat. Sorry. R hat die NAs nicht als Nullen behandelt, sondern wie gewünscht einfach weggelassen. Nur sind die Werte einfach größtenteils im Hunderter-Bereich gewesen, während einige Extreme in die 50.000 gingen.
Das tut mir Leid. Ich werde mich bemühen, zukünftig bessere Fragen zu stellen.
Kann ich das Thema wieder irgendwie schließen?
Danke und Gruß!