1

この投稿のように積み上げ棒グラフを作成する予定です Rの積み上げ棒グラフ

タイトルのない表形式の生データがあります (この各行には 7 つの値が含まれています)。

1.028 1.125 1.475 0.793 0.803 0.815 0.974
0.867 1.115 1.256 1.377 1.029 1.184 1.135
0.497 0.400 0.313 0.570 0.319 0.558 0.475
0.541 0.646 0.309 0.692 0.813 0.575 0.806
1.153 1.184 0.792 0.666 0.976 0.607 0.706
1.236 1.049 1.424 1.773 1.019 0.910 1.376

私の計画は、最初に行ごとにステップ サイズ 1 の異なる間隔でビンを作成することです。

0-1  1-2  2-3
4    3    0
1    6    0
...

x 軸の各行の間隔のスタック バーを作成する秒。

私はたくさんのグーグルをしました。ここで止まってます……。

> mytable = read.table("./temp.out")
> m <-apply(mytable, 1, cut, seq(0, 3, 1))
> m
[,1]    [,2]    [,3]    [,4]    [,5]    [,6]    [,7]
[1,] "(1,2]" "(0,1]" "(0,1]" "(0,1]" "(0,1]" "(1,2]" "(1,2]"

[2,] "(1,2]" "(1,2]" "(0,1]" "(0,1]" "(0,1]" "(1,2]" "(1,2]"

[3,] "(1,2]" "(1,2]" "(0,1]" "(0,1]" "(0,1]" "(0,1]" "(1,2]"

[4,] "(0,1]" "(1,2]" "(0,1]" "(0,1]" "(0,1]" "(0,1]" "(1,2]"

[5,] "(0,1]" "(1,2]" "(0,1]" "(0,1]" "(0,1]" "(0,1]" "(1,2]"

[6,] "(0,1]" "(1,2]" "(0,1]" "(0,1]" "(0,1]" "(0,1]" "(0,1]"

[7,] "(0,1]" "(1,2]" "(0,1]" "(0,1]" "(0,1]" "(0,1]" "(1,2]"

その後、これを頻度表で次のように変換できません

0-1  1-2  2-3
4    3    0
1    6    0
...

頻度表の作り方を教えてください。頻度表を取得した後、それらのデータをスタック バーにプロットできますか?

4

1 に答える 1

0

次のような匿名関数を使用して、必要な情報を取得できます。

m <- t(apply(mytable, 1, function(x) table(cut(x,seq(0, 3, 1)))))

> m
     (0,1] (1,2] (2,3]
[1,]     4     3     0
[2,]     1     6     0
[3,]     7     0     0
[4,]     7     0     0
[5,]     5     2     0
[6,]     1     6     0

データをそのまま転置形式のままにしてtおくと…

m <- apply(mytable, 1, function(x) table(cut(x,seq(0, 3, 1))))

...そのままbarplotすることができます:

barplot(m)
于 2013-03-28T01:39:25.327 に答える