2016-11-04 4 views
0

Я пытаюсь построить график, который показывает относительное обилие от изменения глубины.строительство участка участка в R

У меня есть следующая таблица

  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 

и я попытался следующие с помощью ggplot2()

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() 

По какой-то причине, что я не понимаю, это не правда работает. Любое предложение исправить эту или любую альтернативу?

благодаря

+0

Я думаю, что «Глубина» должна быть числом вместо фактора. Основываясь на числах в вашем примере, это может быть редкий случай, когда 'as.numeric (Depth)' будет работать, хотя это может быть опасно. Вы также можете вывести цифры и создать новую переменную, используя нечто вроде 'as.numeric (gsub (" [[: alpha:]] "," ", Example.class.melt $ Depth)). – aosmith

ответ

1

enter image description here Это то, что вы ищете? Это была моя интерпретация основана на том, как вы задавшего вопрос. Код выглядит следующим образом:

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() 

Вам не требуется говорить as.factor в заливке в классе.

+0

спасибо Вакас, вот и все! – FranciscoC

Смежные вопросы