2014-09-23 2 views
-4

У меня есть этот набор данных:сравнение два протокола для различных значений R

Experiment,Method,Values,Mean 
10,IEEE802.11P,1,1 
10,IEEE802.11P,5,2 
10,IEEE802.11P,10,3 
20,IEEE802.11P,1,4 
20,IEEE802.11P,5,5 
20,IEEE802.11P,10,6 
40,IEEE802.11P,1,7 
40,IEEE802.11P,5,8 
40,IEEE802.11P,10,9 
60,IEEE802.11P,1,10 
60,IEEE802.11P,5,11 
60,IEEE802.11P,10,12 
80,IEEE802.11P,1,13 
80,IEEE802.11P,5,14 
80,IEEE802.11P,10,15 
10,DTB-MAC,1,16 
10,DTB-MAC,5,17 
10,DTB-MAC,10,18 
20,DTB-MAC,1,19 
20,DTB-MAC,5,20 
20,DTB-MAC,10,21 
40,DTB-MAC,1,22 
40,DTB-MAC,5,23 
40,DTB-MAC,10,24 
60,DTB-MAC,1,25 
60,DTB-MAC,5,26 
60,DTB-MAC,10,27 
80,DTB-MAC,1,28 
80,DTB-MAC,5,29 
80,DTB-MAC,10,30 

Я на самом деле хочу, чтобы сравнить IEEE802.11P и DTB-MAC для различных значений (1,5,10), в другой ситуации (10,20, 40,60,80) и нарисуйте график в одном.

Любая идея как рисовать его с помощью R? Я хочу назначить эксперименты по оси x и обозначить оси y. и смешать все эти данные только на одном графике.

Я пробовал следующим образом:

library(grid); 
library(ggplot2); 
library(reshape2); 
pdf(file = '$filename.pdf', width=5, height=5); 

dat <- read.csv('bdr.csv'); 

dat1 <- melt(dat,id.vars = c('Experiment','Method')); 

ggplot(dat1,aes(factor(Experiment),value,fill=factor(variable)))+geom_line()+ 
     facet_grid(. ~ Method)+ 
     labs(x='$xlabel',y='$ylabel', fill='')+ 
    scale_fill_manual(values = c('red','lawngreen','deepskyblue'), labels = c('Values', 'Mean')) + 
scale_y_continuous(limits = c(0, 100), breaks = (seq(0,100,by = 5)))+ 
theme_bw()+ 
     theme( panel.grid.major = element_line(colour = 'grey'), 
    panel.border = element_rect(colour = 'black'), 
axis.line = element_blank(), 
    panel.background = element_blank(), legend.position='top', legend.direction='horizontal', panel.margin = unit(1, 'lines'),legend.background = element_rect(colour = 'grey')); 
+0

Да. У меня есть идеи. Что вы пробовали? – Andrie

+0

да, вы можете найти его здесь. – user32422

ответ

1
library(ggplot2) 
ggplot(dat, aes(x = Experiment, y = Mean, colour = Method, 
       linetype = as.factor(Values), shape = as.factor(Values))) + 
    geom_line() + 
    geom_point() 

где dat это имя вашего фрейма данных. enter image description here

+0

спасибо. но есть ли способ смешать их все на графике, а также я хочу назначить эксперименты по оси x и обозначить оси y. – user32422

+0

@ user32422 См. Обновление. –

+0

спасибо, я НИКОГДА не сделал это так. Это именно то, что мне нужно. – user32422

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