2016-11-04 3 views
0

Ich versuche ein Diagramm zu erstellen, das die relative Häufigkeit gegen die Tiefenvariation darstellt.Erstellen eines Flächendiagramms in R

Ich habe die folgende Tabelle

  test X1m X2m X3m X4m X5m X6m X7m 
1 Example1 1 10 10 1 1 5 1 
2 Example2 2 5 5 5 2 2 5 

und ich habe folgendes mit ggplot2 versucht()

Example.class.melt<-melt(Example.df) 
colnames(Example.class.melt)[1] = "Class" 
colnames(Example.class.melt)[2] = "Depth" 
colnames(Example.class.melt)[3] = "Relative_abundance" 

Example.class.melt<-as.data.frame(Example.class.melt) 

ggplot(Example.class.melt, aes(x=Depth, y=Relative_abundance, fill=as.factor(Class))) + geom_area() 

Aus irgendeinem Grund, dass ich verstehe, dont, es isn't arbeiten. Irgendwelche Vorschläge, um diese oder irgendeine Alternative zu korrigieren? Dies wurde meine Interpretation auf der Grundlage der Art und Weise Sie die Frage gestellt

dank

+0

Ich denke, "Tiefe" sollte eine Zahl anstelle eines Faktors sein. Basierend auf den Zahlen in Ihrem Beispiel könnte dies ein seltener Fall sein, in dem 'as.numeric (Depth)' funktionieren würde, obwohl das gefährlich sein kann. Sie könnten auch die Zahlen herausziehen und eine neue Variable mit etwas wie 'as.numeric (gsub (" [[:]:]] "," ", Example.class.melt $ Depth))' 'erstellen. – aosmith

Antwort

1

enter image description here Ist das, was Sie für? Suchen. Der Code lautet wie folgt:

install.packages("ggplot2") 
install.packages("reshape") 
library(ggplot2) 
library(reshape) 

Example1<-c(1,10,10,1,1,5,1) 
Example2<-c(2,5,5,5,2,2,5) 
data<-rbind(Example1,Example2) 

Example.class.melt<-melt(data) 
colnames(Example.class.melt)[1] = "Class" 
colnames(Example.class.melt)[2] = "Depth" 
colnames(Example.class.melt)[3] = "Relative_abundance" 

Example.class.melt<-as.data.frame(Example.class.melt) 

ggplot(data = Example.class.melt, aes(x = Depth, y = Relative_abundance, fill=Class)) + geom_area() 

Sie benötigen keine as.factor in Füllung Klasse zu sagen.

+0

Danke Waqas, das war's! – FranciscoC

Verwandte Themen