Как создать боксплот - PullRequest
       28

Как создать боксплот

2 голосов
/ 22 августа 2011

У меня есть данные, и из этого я хочу сгенерировать boxplot.Мой файл сохранен в файле «1.txt» и выглядит так:

R  S1G1   S1G2   S2G1   S2G2
1  0.98   0.98   0.96   0.89
2  0.89   0.89   0.98   0.88
3  0.88   0.99   0.89   0.87

Я использую этот код:

x<-read.table("1.txt", header=T)

boxplot(R~S1G1, data=x, main = "Output result",las = 2, pch=16, cex = 1,  
        col = "lightblue", xlab = "R",ylab = "SNP values",ylim =c(-0.4,1.0), 
        border ="blue", boxwex = 0.3)

Может кто-нибудь сказать мне, как генерировать boxplot в R

Ответы [ 3 ]

3 голосов
/ 22 августа 2011

Ваши комментарии немного сложны для расшифровки, но я предполагаю, что, возможно, вы хотели получить коробку для каждого столбца S1G1 и т. Д. В этом случае я бы растаял ваши данные:

xx <- read.table(textConnection("R  S1G1   S1G2   S2G1   S2G2
1  0.98   0.98   0.96   0.89
2  0.89   0.89   0.98   0.88
3  0.88   0.99   0.89   0.87"),header = TRUE, sep ="")

xx1 <- melt(xx, id.vars = "R")

и затем вы можете создавать боксовые бок о бок, используя любую из популярных графических идиом:

ggplot(xx1, aes(x = variable, y = value)) + 
    geom_boxplot()

enter image description here

Или вы можете использовать базовую графику или lattice (графики опущены):

boxplot(value~variable, data = xx1)

bwplot(value~variable,data = xx1)
0 голосов
/ 03 апреля 2013

После прочтения этого поста я обнаружил, что мое решение - прикрепить таблицу в data.frame ().Используя приведенный выше пример:

Xtab <- data.frame(x)
boxplot(Xtab$Freq ~ Xtab$Var1)
0 голосов
/ 22 августа 2011

Может быть, вы хотите сначала изменить свои данные:

x1 <- reshape(x, idvar="R", varying=list(2:5), direction="long")

А чем сюжет это:

boxplot(S1G1 ~ R, data=x1, main = "Output result",las = 2, pch=16, cex = 1,
    col = "lightblue", xlab = "R",ylab = "SNP values",ylim =c(-0.4,1.2), 
    border ="blue", boxwex = 0.3)

boxplot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...