0

この「phyloseq」という R パッケージを使用して、バイオインフォマティクス データを分析しています。

otumat = matrix(sample(1:100, 100, replace = TRUE), nrow = 10, ncol = 10)
otumat

rownames(otumat) <- paste0("OTU", 1:nrow(otumat))
colnames(otumat) <- paste0("Sample", 1:ncol(otumat))
otumat

taxmat = matrix(sample(letters, 70, replace = TRUE), nrow = nrow(otumat), ncol = 7)
rownames(taxmat) <- rownames(otumat)
colnames(taxmat) <- c("Domain", "Phylum", "Class", "Order", "Family", "Genus", 
                      "Species")
taxmat

library("phyloseq")
OTU = otu_table(otumat, taxa_are_rows = TRUE)
TAX = tax_table(taxmat)
OTU
TAX

physeq = phyloseq(OTU, TAX)
physeq

plot_bar(physeq, fill = "Family")

そのため、生成された棒グラフは同じファミリーを積み重ねません。たとえば、サンプル 10 には 2 つの個別の「I」ブロックがあります。ggplot2 を使用した phyloseq プロット グラフを知っています。棒グラフで同じファミリを積み重ねるために、lot_bar(physeq, fill = "Family") に追加できる ggplot2 関連コードを知っている人はいますか?

ここに画像の説明を入力

4

2 に答える 2

0

x 軸に使用されている因子のレベルを並べ替える必要があります。physeqおそらく「サンプル」という列がある (関連するパッケージがインストールされていない) ため、この列のレベルを並べ替える必要があります。

このようなコマンドを使用できるはずです

physeq$Sample <- factor(physeq$Sample, levels = paste0("Sample", 1:10))

次に、正しくプロットする必要があります。

変更する関連部分を見つけるために掘り下げる必要があるかもしれません

于 2016-04-25T20:21:09.950 に答える