1. ホーム
  2. r

[解決済み] R ggplot - エラー stat_bin は連続した x 変数を必要とします。

2022-02-07 21:39:11

質問

私のテーブルはdata.combinedで、以下のような構造になっています。

'data.frame':   1309 obs. of  12 variables:
 $ Survived: Factor w/ 3 levels "0","1","None": 1 2 2 2 1 1 1 1 2 2 ...
 $ Pclass  : Factor w/ 3 levels "1","2","3": 3 1 3 1 3 3 1 3 3 2 ...
 $ Name    : Factor w/ 1307 levels "Abbing, Mr. Anthony",..: 109 191 358 277 16 559 520 629 417 581 ...
 $ Sex     : num  2 1 1 1 2 2 2 2 1 1 ...
 $ Age     : num  22 38 26 35 35 NA 54 2 27 14 ...
 $ SibSp   : int  1 1 0 1 0 0 0 3 0 1 ...
 $ Parch   : int  0 0 0 0 0 0 0 1 2 0 ...
 $ Ticket  : Factor w/ 929 levels "110152","110413",..: 524 597 670 50 473 276 86 396 345 133 ...
 $ Fare    : num  7.25 71.28 7.92 53.1 8.05 ...
 $ Cabin   : Factor w/ 187 levels "","A10","A14",..: 1 83 1 57 1 1 131 1 1 1 ...
 $ Embarked: Factor w/ 4 levels "","C","Q","S": 4 2 4 4 4 3 4 4 4 2 ...
 $ Title   : Factor w/ 4 levels "Master.","Miss.",..: 3 3 2 3 3 3 3 1 3 3 ...

Pclassで分類されたTitleとSurvivedの関係を反映したグラフを描きたい。以下のようなコードを使いました。

  ggplot(data.combined[1:891,], aes(x=Title, fill = Survived)) +
  geom_histogram(binwidth = 0.5) +
  facet_wrap(~Pclass) +
  ggtitle ("Pclass") +
  xlab("Title") +
  ylab("Total count") +
  labs(fill = "Survived")

しかし、これはエラーになります。 Error: StatBin requires a continuous x variable the x variable is discrete. Perhaps you want stat="count"?

変数Titleを数値に変更すると。 data.combined$Title <- as.numeric(data.combined$Title) を実行すると、コードは動作しますが、グラフのラベルも数値になります(下図)。なぜこのようなことが起こるのか、どのように修正すればいいのか教えてください。ありがとうございます。

私はR 3.2.3 on Mac El Capitalを使用しています。

グラフを表示します。X軸がMr, Miss, Mrsの代わりに1,2,3,4の数値で表示されます。

解決方法は?

上記のコメントから答えをまとめてください。

1 - 置換 geom_histogram(binwidth=0.5)geom_bar() . しかし、この方法ではbinwidthをカスタマイズすることはできません。

2 - 使用方法 stat_count(width = 0.5) の代わりに geom_bar() または geom_histogram(binwidth = 0.5) を使えば解決します。