2012-02-08 11 views
2

これは簡単ですが、わかりません。私は(ggplot2でダイヤモンド情報を使用して)avePriceと呼ばれるデータを有する:列見出しに基づくRの平均値のプロット

Fair  Good Very Good Premium  Ideal 
282.0 3050.5 2648.0 3181.0 1809.0 

Iラベルと値(第2行)として、x軸上に見出し(最初の行)を使用して、プロットするにy軸。

これはRで簡単であるようですが、わかりません!

私が働くこの

qplot(x=c("Fair", "Good", "Very Good", "Premium", "Ideal"), y=avePrice, geom="bar", xlab="Diamond Cut", ylab="Average Price") 

を行うことができますが、手動でxlabelsを入力せずにこれを実行するための簡単な方法がなければならないと思われますか?うまくいけば?誰かがどのように:)

明確化を指摘したときに、事前に

おかげで...私はダム感じることを期待している:私は、私は外のX = C(「フェア...」)のものを移動することができます知っていますqplotコマンドを実行して他の場所に持っていますが、その時点で手動で入力する必要があります。

答えて

3

あなたは直接カットによる平均価格を計算することなく、ggplot2を使用して、これをプロットすることができます。ここでワンライナー

qplot(cut, price, data = diamonds, stat = 'summary', fun.y = 'mean') 
+0

hm、これは私がやっていたことよりはるかに優れています:-) – enderland

+2

ggplot2は、データとプロットを扱うのに驚くほど柔軟です。助けになることをうれしく思います。 – Ramnath

+0

うん、残念ながらRを学んでいるだけです:-) – enderland

2

ggplotは一般に、データフレームの列にデータが必要です。

df <- data.frame(Fair=282.0, Good=3050.5, Very.Good=2648.0, Premium=3181.0, Ideal=1809.0) 

df.fix <- data.frame(grades=names(df), avePrice=t(df), row.names=NULL) 

qplot(grades, avePrice, data=df.fix, geom='bar', stat='identity') 

しかし、1行に:

qplot(x=names(df), y=t(df), geom='bar', stat='identity') 
+0

があるしかし、それは私の主な問題を解決していません - あなたは、単にデータフレームにplotコマンドからそのステップを移動している(私は手動で列名を入力する必要がありますする必要はありません創造)。 – enderland

+0

データを出力するか、その構造を表示すると、私はもっと助けることができます。さもなければ、私は何とかデータを作らなければなりません。これは回避策としてのものではなく、作業するサンプルデータを作成するためのものでした。 – Justin

+0

「名前(avePrice)」を使用していると思われます。誰かがコメントとして投稿してから削除しましたか? – enderland

関連する問題