2012-03-29 5 views
-2

Ich habe einen Datensatz in Excel, dass ich versuche, ein mehrzeiliges Diagramm mit auf R zu erstellen. Der Datensatz enthält 7 Lebensmittelgruppen und die täglich konsumierten Kalorien zu den Gruppen. Außerdem gibt es diesen Datenbestand über 38 Jahre (von 1970-2008) und ich versuche, diesen Datensatz zu verwenden, um ein mehrzeiliges Diagramm auf R zu erstellen. Ich habe stundenlang versucht, aber es scheint nicht, R zu bekommen um die Variablen innerhalb des Datensatzes zu erkennen.Wie verwendet man einen Excel-Datensatz für einen mehrzeiligen ggplot in R?

Bitte kennzeichnen Sie meine Frage nicht sofort als "keine Forschungsanstrengungen", nur weil Sie mehr wissen als ich. Deshalb bin ich hier; Ich habe die letzten 7 Tage damit verbracht, 6 Stunden pro Tag damit zu verbringen, Kompilationen zu lesen und zu versuchen, diese Funktion funktionieren zu lassen, aber ich hatte kein Glück.

Dies ist der Datensatz: http://www.filedropper.com/calories. Nach weiteren 2 Stunden Recherche kann ich R immer noch nicht dazu bringen, die Datei zu benutzen, nachdem ich sie gelesen habe - sie behandelt die Datei einfach nicht so, als ob sie noch benutzt wird, noch assoziiert R die Spaltennamen als Variablennamen. Meine Frage ist also, wie man mit diesem Datensatz ein mehrzeiliges Plot in R erstellt? Ich kann es bei meinem augenblicklichen Wissen von R einfach nicht tun.

+0

Im Moment hier nicht die Rede ist, und erhält mit ziemlicher Sicherheit geschlossen. Lesen Sie http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example, um eine gute Frage zu stellen, und versuchen Sie es dann erneut. Stellen Sie mindestens einige Daten bereit oder verwenden Sie die 'iris'-Daten, um einen' ggplot' zu erstellen und uns mitzuteilen, wo Sie stecken bleiben. – Andrie

+0

Teilen Sie Ihre Daten und Sie werden mehr als wahrscheinlich eine Antwort erhalten. Auch wenn es nicht wirklich eine Frage ist. –

+1

Zeigen Sie Ihren Code. Wie liest du die Datei? Dann setze die Ergebnisse von 'str (deine.Variable)' in die Frage. Und wenn Sie möchten, dass wir Daten von irgendwo importieren, legen Sie die Daten zumindest in eine Textdatei, nicht in ein unbekanntes Dateiformat auf einer unbekannten Website, die einen PDF-Reader installieren soll. Im Moment können wir nur raten, was Sie versuchen zu tun, also ist es unmöglich, Ihnen zu helfen. Lies den Link, den ich vorher gepostet habe. Machen Sie Ihr Beispiel reproduzierbar und wir können Ihnen vielleicht helfen. – Andrie

Antwort

3

Da Ihre Datei beginnt wie folgt aus:

"Average daily per capita calories from the U.S. food availability, adjusted for spoilage and other waste",,,,,, 
,,,,,, 
"Meat, eggs, and nuts",Dairy,Fruit,Vegetables,Flour and cereal products,Added fats and oils and dairy fats,Caloric sweeteners 
,,,,,, 
,,,,,, 
,,,,,, 
,,,,,, 
463,267,70,125,432,411,402 
472,268,72,123,426,405,405 
470,265,67,122,421,416,410 

Sie können ein paar Zeilen entfernen oder die skip Argument von read.csv verwenden.

d <- read.csv("Calories.csv", skip=2) 
matplot(d, type="l", lty=1, lwd=3, las=1) 
legend("topleft", names(d), col=1:ncol(d), lty=1, lwd=3) 
+0

+1 für Mühe und eine gute Antwort. – Andrie

2

Ihre Frage für eine ggplot2 Lösung gefragt. Hier ist es.

Laden Sie zunächst das Paket ggplot2. Sie können es erste

# you may need to install the packages 
# install.packages('ggplot2') 
library(ggplot2) 

dann installieren, Datenrahmen importieren (Lösung von Vincent Zoonekynd zur Verfügung gestellt). Außerdem müssen Sie es in das lange Format übertragen, das von ggplot2 erwartet wird. Um dies zu tun, verwende ich die Funktion melt() aus dem Umformpaket.

d <- read.csv("Calories.csv", skip=2) 
str(d) 

# convert from wide to long format 
# add a row index, required for plotting 
d$x <- 1:nrow(d) 
# melt is from the reshape library 
# install.packages('reshape') 
library(reshape) 
md <- melt(d, id='x') 
str(md) 

Und jetzt, Grundstück

ggplot(data=md, aes(x=x, y=value, colour=variable)) + 
    geom_path() 
Verwandte Themen