2016-07-14 4 views
0

создать цветную сетку, используя этот скрипт:Как изменить порядок строк в qplot (R)

require(reshape2) 
require(ggplot2) 
sum<-c(0.58,0.65,0.58,0.53,0.41,0.37) 
len<-c(0.24,0.36,0.24,0.21,0.07,0.12) 
mean<-c(0.83,0.81,0.83,0.83,0.80,0.75) 
cl2<-c(0.73,0.75,0.73,0.62,0.60,0.54) 
X<-c("het1","het3","het5","het7","het10","het15") 
df<-data.frame(X,sum,len,mean,cl2) 
a<-melt(df) 
names(a)<-c("het","variables","Correlation") 
qplot(variables, het, fill=Correlation, data=a,geom='tile') 

, которые производят эту цифру:

enter image description here

Как вы можете видеть на рисунке , строки оси y неправильно отсортированы. Мне нужно было бы отсортировать это, чтобы получить het1, het3, het5, het7, het10 и het15 в правильном порядке. Как я могу это сделать?

ответ

1

Просто relevel фактор, прежде чем создать сюжет:

require(reshape2) 
require(ggplot2) 
sum<-c(0.58,0.65,0.58,0.53,0.41,0.37) 
len<-c(0.24,0.36,0.24,0.21,0.07,0.12) 
mean<-c(0.83,0.81,0.83,0.83,0.80,0.75) 
cl2<-c(0.73,0.75,0.73,0.62,0.60,0.54) 
X<-c("het1","het3","het5","het7","het10","het15") 
df<-data.frame(X,sum,len,mean,cl2) 
a<-melt(df) 

names(a)<-c("het","variables","Correlation") 
a$het = factor(a$het, levels = X) 
qplot(variables, het, fill=Correlation, data=a,geom='tile') 
+0

Большое спасибо Ник, но я все еще получаю тот же порядок строк: Het1 het10 het15 Het3 het5 het7 ... Что мне нужно Het1 Het3 het5 het7 het10 het15 ... – Cisco

+0

Вы повторно запустили весь код? Когда я запускаю этот код, он производит упорядочение по оси Y, которое вы ищете. –

+0

Извините. Порядок неправильный. Переустановите после оператора имен (a). Я отредактировал ответ. –

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