2017-05-18 3 views
0

Ich habe einen Datenrahmen mit Spalten, die Daten ungleicher Länge enthalten, die mit NA gepolstert sind (dh Spalte 1 ist 1: 136, Spalte 2 ist 1: 680) Spalte 3 ist 1: 2380, wobei die restlichen Zeilen mit NA gefüllt sind). Ich möchte Boxplots mit den Daten nach Spalten in diesem Datenrahmen erstellen. Ich versuchte boxplot.matrix zu verwenden:R: Boxplot.matrix gibt Fehler für Datenrahmen mit NA-Werten

boxplot.matrix(dataframe,use.cols=TRUE) 

Aber ich erhalte die folgenden Fehler:

Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) : 
    'x' must be atomic 
In addition: Warning message: 
In split.default(c(x), rep.int(1L:ncol(x), rep.int(nrow(x), ncol(x)))) : 
    data length is not a multiple of split variable 

Ich bin nicht sicher, ob der Fehler mit, um zu tun hat NA zu handhaben oder wenn ich kann‘ t Verwenden Sie boxplot.matrix mit Spalten ungleicher Datenanzahl? Oder etwas ganz anderes? Der einfache Boxplot-Befehl arbeitet mit einer kommagetrennten Liste jeder Spalte, aber dies ist mit einem breiteren Datenrahmen unhandlich.

+2

Willkommen bei Stack-Überlauf. Können Sie uns ein Beispiel geben, das wir reproduzieren können? Es wird einfacher sein, dir zu helfen. – DJJ

+2

Ich kann falsch liegen, aber sollten Sie 'boxplot.matrix' nicht mit Matrizen und Datenrahmen verwenden? ... – Cath

Antwort

3

es ist nicht klar, warum Sie boxplot.matrix() mit einem Datenrahmen verwenden würden, wie die Leute in den Kommentaren geschrieben haben. können Sie entweder tun

boxplot.matrix(as.matrix(dataframe), use.cols = T) 

oder einfach

boxplot(df)