2016-09-16 5 views
-1

私は新生児の兄弟の体重と性別のデータのサンプルを持っており、Stataで行われた次のようなRの共通の2x2ドットプロットにプロットしたいと考えています: Rでドットプロットのグリッドを作る方法

> str(siblings) 
'data.frame': 1000 obs. of 5 variables: 
$ sex1st : int 1 1 1 2 1 1 2 1 2 2 ... 
$ sex2nd : int 1 2 1 2 2 2 1 2 2 1 ... 
$ weight1st: int 3740 3060 3650 3688 3740 3550 3850 3680 2390 3600 ... 
$ weight2nd: int 3740 3620 3700 3726 3000 3700 4020 4310 2250 3250 ... 
$ difw  : int 0 560 50 38 -740 150 170 630 -140 -350 ... 

のみ1:考慮すべき4ニーズ2x2 plot of birthweight of first compared to second child

STATAコードがこの

egen sex1sex2=group(sex1st sex2nd),label 
scatter weight2nd weight1st,by(sex1sex2) aspect(1) scheme(s1mono) 

であるRのデータの構造はこれです。 性別では、1 =男の子と2 =女の子。オリジナルの.dtaファイルにはラベルが付けられています。

私が進むべき道だと思いますこのスレッドを発見したが、私はそれのまわりで私の頭をラップするかどうかはわかりません:任意の助けのために多くDot Plots with multiple categories - R

感謝を。

+0

Stataの名前だけではありません。ほとんどの人がこの散布図を呼ぶと思います。 –

+0

こんにちはニック。私はあなたが完全に正しいと思います。散布図はより正確な用語です。私は現在、Biostatisticsのコースに従っています。教材はStata-codeで提供されていますが、私はRを使うことを約束しています。 –

答えて

1

共有したスレッドでは、ggplot2を使用してプロットを実行することを示しています。 Rで視覚的に魅力的なプロットを(主観的に)生成するのに非常に便利な外部パッケージです。ファセットのために特に便利です。これはあなたがしようとしているものです。

まず、ライブラリをインストールして読み込む必要があります。

install.packages('ggplot2') 
library('ggplot2') 

私は、プロセスを説明するために、いくつかのダミーデータを作成しました:

x <- data.frame("sex1" = sample(1:2, 1000, replace = T), 
       "sex2" = sample(1:2, 1000, replace = T), 
       "weight1" = round(rnorm(1000, mean = 3000, sd = 100)), 
       "weight2" = round(rnorm(1000, mean = 3000, sd = 100))) 

は、今、私たちはggplot2を使用してプロットを開始するように設定しています。 ファセット面は、ファセットのないものすべてを最初にプロットするように見えます。

p1 <- ggplot(x, aes(x = weight1, y = weight2)) + geom_point() 
print(p1) 

enter image description here

右:基本的に、これはWEIGHT2(y軸)によってweight1の散布(X軸)のプロット。それでは、すなわちsex1sex2、あなたが望んでいた2つのファセットを追加してみましょう。

faceted <- p1 + facet_wrap(~sex1 + sex2, ncol = 2, nrow = 2) 
print(faceted) 

enter image description here

これが直接あなたの問題に対処している間、私は構文と機能を理解するためのアプリケーションの詳細を読んお勧めしますggplot

+0

完璧!それは本当にそれをしました。どうもありがとうございます。私はまだRにはとても新しいので、確かに勉強に戻ってきます!しかし、ありがとう! –

関連する問題