2014-09-23 36 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 

其实我是想在不同的情况下(10,20来比较不同的值IEEE802.11PDTB-MAC(1,5,10), 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 2014-09-23 16:28:25

+0

是的,你可以在这里找到它。 – user32422 2014-09-23 16:39:54

回答

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 2014-09-23 16:37:51

+0

@ user32422查看更新。 – 2014-09-23 16:44:50

+0

谢谢,我从来没有这样做过。它正是我需要的。 – user32422 2014-09-23 16:47:48