2017-09-09 16 views
1

私はRスタジオでかなり新しくなっていますので、事前にお詫び申し上げます。私は、グループ化されたバープロットを作成するための助けが必要です。私は3つの変数を持っています: "時間":連続変数に変換 "治療": "Con"、 "Hya" "試行": "T1"、 "T2"、 "T3" これは:Rグループ化された棒グラフ

3つの列の3つのグループが横に積み重ねられている必要があります。 Y軸上の時間。 X軸上の試行(1,2 & 3)有色の柱(Hya =灰色、Con =白色)に対応する治療で、治療の色を説明する伝説が付いています。ここで

は私のデータの構造です:

'data.frame': 102 obs. of 3 variables: 
$ Trial : int 1 1 1 1 1 1 1 1 1 1 ... 
$ Treatment: $ Trial : int 1 1 1 1 1 1 1 1 1 1 ... 
$ Treatment: Factor w/ 2 levels "Control","Hyaluronan": 1 1 1 1 1 1 1 1 1 1 ... 
$ Time  : num 11 7 7.68 7.7 7 3 5 5.48 4 6 ... 

私は、このエラーメッセージが出ます:

> barplot(table(Biopsy$Time, Biopsy$Treatment, Biopsy$Trial)) 
Error in barplot.default(table(Biopsy$Time, Biopsy$Treatment, Biopsy$Trial)) : 
    'height' must be a vector or a matrix 

をしてください、誰もが、私はそれを感謝助けることができれば、私がしようとしてきました長い間、(

+0

試行と治療が同じである観察時間を集計しますか? – Harald

+0

そうは思わない?試行1,2および3に対応する2つの列(HyaおよびCon)のちょうど3つのグループ。申し訳ありませんが、私の質問は明確ではありませんでした。 –

+0

コードサンプルはどこですか? – yacc

答えて

1

ここに「ggplot2」というパッケージがあるといいと思いますが、このパッケージでは積み重ねられた棒グラフの作成はとても簡単です。 hはデータ構造のスナップショットしか提供していないので、私が作成したデータフレームがそのようなプロットを作成するために使用された基本的な機能を示すのに役立つことを願っています。 (あなただけのRStudioでペーストをコピーして、コードを実行することができます。ggplot2をインストールしてください[install.packagesは( "ggplot2")]パッケージをライブラリ()関数を実行する前に。)

trial <- c(1,1,1,1,2,2,2,2,3,3,3,3) 
treatment <- c("Hya","Hya","Con","Con","Hya","Hya","Con","Con","Hya","Hya","Con","Con") 
time <- c(1,7,1,7,2,8,2,8,3,9,3,9) 

df <- data.frame(trial,treatment,time) 

library(ggplot2) 
ggplot(df, aes(y = time, 
       x = trial, 
       group = treatment)) + 
    geom_bar(stat = "identity", position = "dodge", aes(fill = treatment)) 

The resulting plot can be found here.

上記のコードは、データフレームと棒グラフを作成します。グループ化は引数 "group"で行われ、色は "fill"で設定されます。もちろん、色付けなどを変更することができます。新しいRStudio/Rであるので、ggplotのドキュメントをチェックすることをお勧めします。

この例が役立つことを願っています...

+0

ありがとうございます。数字はどこから来ていますか? –

+0

時間< - c(1,7,1,7,2,8,2,8,3,9,3,9) –

+0

別の人が別の番号を使用しています。彼らは単なるサンプルですか、私は自分の数字を入れる必要がありますか?どの番号を入力する必要がありますか? –

関連する問題