9

以下のデータフレームp3があります。

         test     result
    1      1    26.87778
    2      1    24.52598
    3      1    24.02202
    4      1    20.32632
    5      1    22.00618
    6      2    19.84013
    7      2    19.68983
    8      2    19.84013
    9      2    19.23892
    10     2    19.23892
    11     3    34.36430
    12     3    33.28196
    13     3    33.82313
    14     3    33.82313
    15     3    32.47020
    16     4    25.55169
    17     4    26.90442
    18     4    25.40138
    19     4    24.19895
    20     4    25.85230
    21     4    25.70199
    22     4    24.95047
    23     5    18.64646
    24     5    18.64646
    25     5    17.80653
    26     5    18.64646
    27     5    18.31049

コードを使用して、回避された結果で棒グラフを作成しようとしています。

    ggplot(p3, aes(x = test, y = result))+ geom_bar(position="dodge", stat="identity")

しかし、それはまったく機能しません。以前に同じコードを使用して動作したので、なぜ動作しないのかわかりません。

4

2 に答える 2

11
ggplot(p3, aes(x = test, y = result, group = result)) + 
    geom_bar(position="dodge", stat="identity")

group引数をに変更すると、何が起こっているかを確認できますcolor

ggplot(p3, aes(x = test, y = result, color = result)) + 
    geom_bar(position="dodge", stat="identity")

コメント用に編集:

あるので奇数のグループがあるようです。グループ4には、指定したデータに7つの要素が含まれています。グループ3には5つありますが、そのうちの2つは同じです。プロットは高さを正しく示しており、要素のようにグループ化されています。それはあなたuniqueが各グループに呼びかけたようなものです。

私はプロットすると思います:

ggplot(p3, aes(x=test, y=result, group=result, color=result)) + 
  geom_bar(position='dodge', stat='identity')

これを非常によく表示します。各グループが5つの要素を持っている限り、そうではありません。グループ4には7があります。あなたが説明していることを確認するには、次のようなことができます。

ggplot(p3, aes(x=as.integer(row.names(p3)), y=result, fill=factor(test))) +   
  geom_bar(position='dodge', stat='identity')
于 2012-06-12T22:48:07.427 に答える
1

これはデニスマーフィーによって答えられました:

p3$test <- factor(p3$test)
p3$fac <- factor(unlist(sapply(as.vector(table(p3$test)), seq_len)))
ggplot(p3, aes(x = test, y = result, fill = fac)) + 
      geom_bar(position = 'dodge', stat = 'identity')

変数の調整:

ggplot(p3, aes(x = test, y = result, color = fac, fill = test)) +
    geom_bar(position = 'dodge', stat = 'identity', linetype = 0)

色(輪郭)が同じでなければならないことを除いて、私はほとんど私が望むものを手に入れました。しかし、それは十分に近かった。

于 2012-06-15T08:21:32.863 に答える