2016-11-20 7 views
-1

Ich habe folgende Daten enter image description hereWie schneidet man mehrere Spalten auf Boxplot?

Ich habe versucht, eine Spalte mit dem folgenden Befehl zu plotten und es funktioniert. Wenn jedoch ein paar Spalten zu zeichnen versucht, wird der Befehl nicht

#this works but only for one column boxplot(as.numeric(new[[2]]), horizontal = T, col = "lightblue", notch = T, main="Heart Failure Mortality")

#does not work, I am trying to get the first 3 columns boxplot(as.numeric(new[[c(1:3)]]))

+0

Screenshot ist nicht so hilfreich. Bitte benutze 'dput (head (new, 10))' und gib uns ein [Minimum Complete Reproducible Example] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible- Beispiel). Und wenn Sie "* nicht funktioniert" * sagen, zeigen Sie uns den Fehler, den Sie bekommen. – smci

+0

'new [[2]]' extrahiert eine Datenrahmenspalte als Vektor, aber Sie können das nicht auf 'new [[c (1: 3)]]', Sie wollen 'new [, c (1: 3)] ''. Bitte lesen Sie die ''?' 'Seite (https://stat.ethz.ch/R-manual/R-devel/library/base/html/Extract.html) auf dem' [..] 'Operator . – smci

+0

Wenn diese Spalten aufgrund von 'read.csv()' nicht numerisch sind, lesen Sie auch 'read.csv (..., colClasses)', damit sie beim ersten Mal richtig einlesen und nicht einmal muss konvertieren. – smci

Antwort

0

Sie zeigen nicht, was die Struktur Ihrer new ist, und die Syntax zeigt an, dass Sie versuchen, um seine Spalten als Listenelemente zu behandeln.

Stellen Sie nur sicher, dass es sich um einen Datenrahmen mit numerischen Spalten handelt.

boxplot(iris[,1:4]) 

gibt Boxplots der 4 numerischen Spalten dieses Datenrahmens

+0

Dies funktioniert auf iris aber es funktioniert nicht auf meinem Boxplot (as.data.frame (new [, 1: 3])) ' –

+1

' boxplot (sapply (new [, 1: 3], as.numeric)) '. Wenn die Spalten in ein numerisches Format konvertiert werden müssen, muss dies für jede Spalte einzeln durchgeführt werden. Sie können 'sapply' verwenden, um über jede Spalte zu iterieren. – eipi10

Verwandte Themen