0

データフレームから箱ひげ図をグラフ化するのに苦労しています。df$A、、、の 3 つの列df$Bを含むデータフレーム df がありますdf$C。1 つのグラフdf$Cで、X 軸とプロットdf$A、およびY 軸のボックスプロットとして使用したいと考えています。df$Bしたがって、x 軸の各値に対して、2 つの値df$Adf$B. X軸の値ごとにボックスを揃えたい(df$C)。インタラクションを使用して ( A, B) を列に結合し、次のようにグラフ化しようとしました。

df$AandB <- interaction(df$A, df$fB)

ggplot(aes(y = AandB, x = df$C), data = df) + geom_boxplot()

しかし、うまくいきませんでした。水平線しか表示されませんでした。申し訳ありませんが、私は新しいユーザーであるため、画像をアップロードできませんでした。

塗りつぶしまたは色を使用するためのいくつかの提案を見つけましたが、うまくいきませんでした。

助言がありますか?

私のdfのサンプル:

  A         B         C  
 200.12    30.11       28.75 
 100.75    26.17       29.98        
 27.33      25.58      34.98 
 25.19      22.6       35.56 
 40.03      21.02      37.51 
 20.3       18.31      44.75   
4

1 に答える 1

1

データ:

df <- read.table(text="A         B         C  
200.12    30.11       28.75 
100.75    26.17       29.98        
27.33      25.58      34.98 
25.19      22.6       35.56 
40.03      21.02      37.51 
20.3       18.31      44.75", header = TRUE)

まず、データを長い形式で配置する必要があります。との値はA、パッケージBと一緒に 1 つの列にまとめられます。reshape2

library(reshape2)
df_l <- melt(df, id.vars = "C")

これで、プロットを作成できます。

library(ggplot2)
ggplot(df_l, aes(x = C, y = value)) + 
  stat_summary(aes(group = C),
               fun.y = mean, fun.ymin = min, fun.ymax = max, geom = "crossbar")

クロスバーは、データの範囲と平均の両方を示します。 ここに画像の説明を入力

于 2012-11-15T19:33:55.407 に答える