2019年4月19日金曜日

R を使ってグラフを作成する。その2


ほんのちょとしたメモ書きから、グラフを作ってみ
 エクセルより手間に見えるかもしれないが、扱う数が多くなればRの方が楽かもしれない。

 全体の流れ。
 メモ帳でメモ書きを数行して、これをRで読み込み、即、グラフにする。

1.メモ帳で次のような数字を書いて(今回は、数字の間にカンマを入れる)、デスクトップのファイル(work)に保存する。保存する際に、○○.txt とする。数字が大きくなると、カンマで区分けを明瞭にした方が読み取り易い。

 a,b,c,d,e,f
1995,43441,12332,28671,2263,608
2000,38535,11947,36317,1899,958
2005,37223,18639,44025,5693,1765
2010,44673,22086,48402,11406,4524
2015,34568,27105,56770,9477,8166
2019,41021,31936,64767,11191,10153

 内容は、日本を含めた周辺国家の一人当たりのgdpの数字。数字は、ネットに表示されてあったものを拾った。上の数字の羅列の意味は、エクセルで作った表と同じ。罫線のかわりにカンマが入ったもの。

2.Rで読み込む

df <- read.csv("c:/Users/user/Desktop/work/○○.txt",header = T,stringsAsFactors = F)
 
 今度は、read.table ではなくて、read.csv を使った。カンマ区切りの場合には、read.csvが使える。


3.読み込んだ数字の内容をみてみる。

str(df)
'data.frame': 6 obs. of 6 variables:
$ a: int 1995 2000 2005 2010 2015 2019
$ b: int 43441 38535 37223 44673 34568 41021
$ c: int 12332 11947 18639 22086 27105 31936
$ d: int 28671 36317 44025 48402 56770 64767
$ e: int 2263 1899 5693 11406 9477 11191
$ f: int 608 958 1765 4524 8166 10153

 数字として読み込まれていることを確認する。


4.グラフにしてみる

plot(df$a,df$b,type="l",ylim=c(0,80000),xlim=c(1995,2019),xlab = "年度",ylab="一人当たりのgdpusドル換算)",main="一人当たりのgdpの推移",sub="日本:黒、韓国:赤、米国:緑、露:青、中国:水")

lines(df$a,df$c,lty=2,col=2)
lines(df$a,df$d,lty=3,col=3)
lines(df$a,df$e,lty=4,col=4)
lines(df$a,df$f,lty=5,col=5)

 col= は、線の「色」を決めている。数字と色とが対応している。

 なお、plot をしている際に、Error in plot.new() : figure margins too large  という表示がでて、グラフが出てこないというトラブルがあった。
 これは、Rスタジオを使っている場合、右下に図が出てくるのだが、グラフが大きくて入り切らないということを意味する。
 右下の部分を上に、左にと拡張すれば問題は解決する。

 で。
 グラフは、次のようになった。