1

リストにある値から (グループ化され積み上げられた) 棒グラフを生成したい:

dog = list(a=100, c=30, t=140, g=102)
cat = list(a=99,  c=31, t=150, g=123)
pig = list(a=100, c=12, t=90,  g=144)

最初のバープロットでは、データは文字 (ACTG) ごとにグループ化され、各動物には独自のバーが必要です。

a2 番目の棒グラフは、各動物の、ctおよびのパーセンテージを示す積み上げプロットである必要がありgます。

help(barplot)私が読んだところでは、マトリックスのようなデータ構造を生成する必要があると書かれていました。データを に入れる好ましい方法は何matrixですか?

私が見た例では、人々は?tablesすでに名前が含まれているものを使用しています。テーブルとマトリックスの違いは何ですか? また、データからテーブルを生成するにはどうすればよいですか?

4

2 に答える 2

1

次を使用して作成できますmatrix

data <- matrix(c(dog, cat, pig), nrow=3, ncol=4, dimnames=list(c("dog", "cat", "pig"), c("A", "C", "T", "G")))
data

>   dog cat pig
> A 100 99  100
> C 30  31  12 
> T 140 150 90 
> G 102 123 144

プロット:

barplot(data)

そして結果:

ここに画像の説明を入力

x <- data.frame(
     animals=c(rep("dog",4),rep("cat",4),rep("pig",4)),
     gen=c(rep(c("A","C","T","G"),3)),
     value=c(100,30,140,102,99,31,150,123,100,12,90,144))

>    animals gen value
> 1      dog   A   100
> 2      dog   C    30
> 3      dog   T   140
> 4      dog   G   102
> 5      cat   A    99
> 6      cat   C    31
> 7      cat   T   150
> 8      cat   G   123
> 9      pig   A   100
> 10     pig   C    12
> 11     pig   T    90
> 12     pig   G   144

以下の助けを借りて:

library(ggplot2)
library(reshape2)

ggplot(mx, aes(x=animals,y=value)) + 
     geom_bar(stat="identity") + 
     facet_grid(~gen)

結果:

ここに画像の説明を入力

于 2013-04-19T10:26:50.407 に答える