2013-02-25 7 views
5

通常、Rの?ggplot2の変数を色/サイズエンコードするのにfactorを使用しますか?例:対ggplotを使ってRにプロットするときにfactor()を使用するタイミングは?

ggplot(mtcars) + geom_point(aes(x=mpg, y=drat, colour=gear)) 

ggplot(mtcars) + geom_point(aes(x=mpg, y=drat, colour=factor(gear))) 

は、形状/サイズ/色を決定するために使用される変数は離散的、かつ連続していない場合factorを使用する一般的なルールはありますか?または、この文脈でfactorの別の用途がありますか? factorがなくても、最初のコマンドを正しい伝説の2番目のコマンドのようにすることができるようです。ありがとう。

編集:私はcolour=gearを使用する場合、私はこれを取得: enter image description here

+4

はい、表示する内容によって異なります。グラデーションの感覚を伝える傾向がある場合は、連続変数を使用しますが、グループを表示する場合は、factorに変換するのが最も安全です。 –

+1

実際にカテゴリを表す数値的にコード化された変数がある場合、 'factor'を使います。 – Andrie

答えて

6

問題は伝説ではない、それは色の選択です。それが要因ではない場合、点は同じ色相の異なる色合いである:

ggplot(mtcars) + geom_point(aes(x=mpg, y=drat, colour=gear)) 

enter image description here

これは、点の連続体を通信し、したがって別の可能性のセットのための理想的ではありません。 (実際に、5つまたは6つの可能性に達すると、色は互いに区別しづらくなる可能性があります)。

gearsが要因のように扱わある場合は、色が区別できるように選択される:

ggplot(mtcars) + geom_point(aes(x=mpg, y=drat, colour=factor(gear))) 

enter image description here

factorを使用していないときは、勾配プロットを取得していない場合に、より新しいバージョンのggplot2にアップグレードしてください。

+0

最初のプロットはどうやって取得できますか?私は 'color = gear'を使うだけで勾配の伝説は得られません。 – user248237dfsf

+0

@ user248237:私は自分のコードを各図の上に掲載しました。私はそれがあなたとまったく同じだと信じています。あなたのデータフレーム(R?のバージョン)では、 'gear'は既に要素ですか? 'class(mtcars $ gear)'から何を得るのですか? –

+0

あなたが書いたものをタイプするとき、私は 'class(mtcars $ gear)[1]数値を得る。私はRStudioを使用しています。 – user248237dfsf

関連する問題