2014-02-20 53 views
0

我想繪製按距離值分組的測量數據的Boxplots。我csv - 文件是這樣的:R按行劃分的Boxplot

distance;fp1;fp2;fp3;...;fp99 
30;-54;-51;-45;...;-56 
40;... 
... 
400;... 

現在我要畫箱線圖對於具有fp1值的每一行 - fp99和距離爲x軸的價值,讓我對不同距離的多個箱線圖並排按distance排列。 希望有人能幫助我。

所以這裏是一個示例:

library(ggplot2) 
library(reshape) 

data <- read.csv(file='file.csv', head=TRUE, sep=';') 

pdf(file="output.pdf", onefile=TRUE, pagecentre=TRUE, width=12, height=6) 
data$group <- row.names(data) 
data.m <- melt(data, id.vars = "group") 



print(
    ggplot(data.m, aes(group, value)) + geom_boxplot() 
) 

產生這樣的:

enter image description here

我要排除的distance爲箱形圖,並用它爲x座標。我希望你們明白我的意思。

+0

歡迎來到SO。如果您提供[**最小,可重現的示例**],人們就會更加樂於提供幫助(http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/) 5963610#5963610)並告訴我們你已經試過的代碼並解釋出了什麼問題。 – Henrik

回答

0

一個例子filename.csv

distance;fp1;fp2;fp3;fp99 
30;-54;-51;-45;-56 
40;-30;-40;-40;-50 

這裏有一個解決方案:

# read data 
dat <- read.csv2("filename.csv") 

# reshape data 
library(reshape2) 
dat_m <- melt(dat, id.vars = "distance") 

# plot data 
boxplot(value ~ distance, dat_m) 

enter image description here

如果你喜歡ggplot2,你可以使用:

library(ggplot2) 
ggplot(dat_m, aes(x = as.factor(distance), y = value)) + 
    geom_boxplot() 

enter image description here