2016-09-09 6 views
0

Iポイント/サンプルは、X1X2座標含まdata.frame X有する:ggplot facet_wrapはdata.frameの選択された列ですか?

> head(X) 
           X1  X2 Cluster Timepoint Transcripts  MEF  ESC 
Drop_6_6A_0_TACCTAATCTAC 169.3437 20.18623  2  Day 0  49688 0.4366071 0.3260743 
Drop_6_6A_0_TCAGCTTGTCAC 155.8880 -16.69927  3  Day 0  47365 0.4554254 0.3350818 
Drop_6_6A_0_TCGCAATAAGAT 168.4270 36.50967  2  Day 0  44881 0.4114934 0.2595030 
Drop_6_6A_0_AATCTACCAATC 164.3964 -27.17404  3  Day 0  44640 0.4748225 0.3525822 
Drop_6_6A_0_GGATTAAGTTCA 162.2900 -24.10504  3  Day 0  36822 0.4723676 0.3391785 
Drop_6_6A_0_TGATCTAGTGTC 155.4231 -19.18974  3  Day 0  35889 0.4664174 0.3408899 

Iは、関連式に従ってXおよびサイズ散乱プロット上の点に列として選択されたマーカーを追加したいと値。私は、以下に示す(式の値を対応するサイズのポイントで個々の散布図をプロットすることができるよ、今

> head(Z) 
           X1  X2 Cluster Timepoint Transcripts  MEF  ESC  NANOG NA POU5F1 ESRRB COL5A2 ELN  PTN  CXCL5 
Drop_6_6A_0_TACCTAATCTAC 169.3437 20.18623  2  Day 0  49688 0.4366071 0.3260743 0.0000000 NA  0  0 5.113106 0 1.004522 0.2645434 
Drop_6_6A_0_TCAGCTTGTCAC 155.8880 -16.69927  3  Day 0  47365 0.4554254 0.3350818 0.2763494 NA  0  0 3.068572 0 1.309109 1.0395819 
Drop_6_6A_0_TCGCAATAAGAT 168.4270 36.50967  2  Day 0  44881 0.4114934 0.2595030 0.0000000 NA  0  0 5.264248 0 0.000000 0.0000000 
Drop_6_6A_0_AATCTACCAATC 164.3964 -27.17404  3  Day 0  44640 0.4748225 0.3525822 0.0000000 NA  0  0 3.554919 0 1.592698 0.2916205 
Drop_6_6A_0_GGATTAAGTTCA 162.2900 -24.10504  3  Day 0  36822 0.4723676 0.3391785 0.0000000 NA  0  0 3.838676 0 1.536569 1.9954283 
Drop_6_6A_0_TGATCTAGTGTC 155.4231 -19.18974  3  Day 0  35889 0.4664174 0.3408899 0.0000000 NA  0  0 4.029014 0 6.187616 0.0000000 

NANOG = t(data['NANOG',rownames(X)]) 
SAL4 = t(data['SAL4',rownames(X)]) 
COL5A2 = t(data['COL5A2',rownames(X)]) 
ESRRB = t(data['ESRRB',rownames(X)]) 
ELN = t(data['ELN',rownames(X)]) 
POU5f1 = t(data['POU5F1',rownames(X)]) 
PTN = t(data['PTN',rownames(X)]) 
CXCL5 = t(data['CXCL5',rownames(X)]) 
Z = cbind(X, NANOG, SAL4, POU5f1, ESRRB, COL5A2, ELN, PTN, CXCL5) 

は、このデータを結合した後、新しいdata.frame Zは次のようになります)しかし、私は1つのfacet_wrapプロット内でこれを行う方法がわかりません。

library(gridExtra) 
g = arrangeGrob(
    ggplot(Z, aes(X1, X2, color=NANOG)) + ggtitle("NANOG") + 
    geom_point() + 
    xlab(paste0("TSNE1")) + 
    ylab(paste0("TSNE2")) + 
    theme_bw() + theme(axis.line = element_line(colour = "black"), panel.grid.minor = element_blank(), panel.background = element_blank()) + scale_colour_gradient(low='light blue', high='red') + 
    ggsave(paste0(outdir, timepoint, ".tsne.",lab,".density.clustered.all.genes.TSNE1.TSNE2.nanog.expression.no.noise.pdf"), height=pdf_height, width=pdf_width+5), 
    ggplot(Z, aes(X1, X2, color=SAL4)) + ggtitle("SAL4") + 
    geom_point() + 
    xlab(paste0("TSNE1")) + 
    ylab(paste0("TSNE2")) + 
    theme_bw() + theme(axis.line = element_line(colour = "black"), panel.grid.minor = element_blank(), panel.background = element_blank()) + scale_colour_gradient(low='light blue', high='red') + 
    ggsave(paste0(outdir, timepoint, ".tsne.",lab,".density.clustered.all.genes.TSNE1.TSNE2.SAL4.expression.no.noise.pdf"), height=pdf_height, width=pdf_width+5), 
    ggplot(Z, aes(X1, X2, color=POU5f1)) + ggtitle("POU5F1") + 
    geom_point() + 
    xlab(paste0("TSNE1")) + 
    ylab(paste0("TSNE2")) + 
    theme_bw() + theme(axis.line = element_line(colour = "black"), panel.grid.minor = element_blank(), panel.background = element_blank()) + scale_colour_gradient(low='light blue', high='red') + 
    ggsave(paste0(outdir, timepoint, ".tsne.",lab,".density.clustered.all.genes.TSNE1.TSNE2.pou5f1.expression.pdf"), height=pdf_height, width=pdf_width+5), 
    ggplot(Z, aes(X1, X2, color=ESRRB)) + ggtitle("ESRRB") + 
    geom_point() + 
    xlab(paste0("TSNE1")) + 
    ylab(paste0("TSNE2")) + 
    theme_bw() + theme(axis.line = element_line(colour = "black"), panel.grid.minor = element_blank(), panel.background = element_blank()) + scale_colour_gradient(low='light blue', high='red') + 
    ggsave(paste0(outdir, timepoint, ".tsne.",lab,".density.clustered.all.genes.TSNE1.TSNE2.ESRRB.expression.pdf"), height=pdf_height, width=pdf_width+5), 
    ggplot(Z, aes(X1, X2, color=COL5A2)) + ggtitle("COL5A2") + 
    geom_point() + 
    xlab(paste0("TSNE1")) + 
    ylab(paste0("TSNE2")) + 
    theme_bw() + theme(axis.line = element_line(colour = "black"), panel.grid.minor = element_blank(), panel.background = element_blank()) + scale_colour_gradient(low='light blue', high='green') + 
    ggsave(paste0(outdir, timepoint, ".tsne.",lab,".density.clustered.all.genes.TSNE1.TSNE2.col5a2.expression.pdf"), height=pdf_height, width=pdf_width+5), 
    ggplot(Z, aes(X1, X2, color=ELN)) + ggtitle("ELN") + 
    geom_point() + 
    xlab(paste0("TSNE1")) + 
    ylab(paste0("TSNE2")) + 
    theme_bw() + theme(axis.line = element_line(colour = "black"), panel.grid.minor = element_blank(), panel.background = element_blank()) + scale_colour_gradient(low='light blue', high='green') + 
    ggsave(paste0(outdir, timepoint, ".tsne.",lab,".density.clustered.all.genes.TSNE1.TSNE2.eln.expression.pdf"), height=pdf_height, width=pdf_width+5), 
    ggplot(Z, aes(X1, X2, color=PTN)) + ggtitle("PTN") + 
    geom_point() + 
    xlab(paste0("TSNE1")) + 
    ylab(paste0("TSNE2")) + 
    theme_bw() + theme(axis.line = element_line(colour = "black"), panel.grid.minor = element_blank(), panel.background = element_blank()) + scale_colour_gradient(low='light blue', high='green') + 
    ggsave(paste0(outdir, timepoint, ".tsne.",lab,".density.clustered.all.genes.TSNE1.TSNE2.ptn.expression.pdf"), height=pdf_height, width=pdf_width+5), 
    ggplot(Z, aes(X1, X2, color=CXCL5)) + ggtitle("CXCL5") + 
    geom_point() + 
    xlab(paste0("TSNE1")) + 
    ylab(paste0("TSNE2")) + 
    theme_bw() + theme(axis.line = element_line(colour = "black"), panel.grid.minor = element_blank(), panel.background = element_blank()) + scale_colour_gradient(low='light blue', high='green') + 
    ggsave(paste0(outdir, timepoint, ".tsne.",lab,".density.clustered.all.genes.TSNE1.TSNE2.cxcl5.expression.pdf"), height=pdf_height, width=pdf_width+5), 
    nrow=2, ncol=4 
) 

上記のコードは予想通り動作しますが、大多数のための十分な非常に長く、ではない、100、選択マーカーを言う..私は何とかZ data.frameを溶融するために私が持っているであろうと想定していますか?どんな助けでも大歓迎です。 OPが示唆したように

+1

再現性の例を提供してください。 –

+0

私のブログ記事は、この問題のお手伝いをします:https://drsimonj.svbtle.com/plot-some-variables-against-many-others –

答えて

1

は、1つのアプローチは、元のデータフレームZ溶融することである:idは(列インデックスの)整数またはID変数の(カラム名の)文字列のベクトルであってもよい

library(reshape2) 
d <- melt(Z, id = 1:5, measure = 6:ncol(Z)) 

、およびmeasureは、さまざまな指標(この場合はマーカー)の位置を示すベクトルです。次に、ggplot

library(ggplot2) 
ggplot(d, aes(x = X1, y = X2, size = value)) + 
    geom_point() + 
    facet_wrap(~ variable) 

と、必要に応じてラベルやその他の装飾品を追加してください。 ZからOPのエキスを使用して出力:

enter image description here

関連する問題