したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

Rの情報

4白書さん:2010/03/29(月) 06:24:06 HOST:wcache1.waseda.ac.jp


World Economic Outlook Database October 2009のEntire Datasetを使用した場合で説明します。
まず、WEOOct2009all.xlsをcsv形式に変換します。
そのあと、Rから

GDP <- read.csv(filename, sep = "\t", colClasses = c("integer", rep("factor", 8), rep("numeric", 36)), nrows = 6007, na.strings = c("\"n/a\"", "\"--\""))

でデータフレームへ読み込みます。
上はタブ区切りの場合です。
nrows = 6007は最後の行に余計な文字列があるため、na.strings = c("\"n/a\"", "\"--\"")はn/aと--が数値に変換できないので、無視するために加えています。
次に

pr <- subset(GDP, subset = Subject.Descriptor == "Gross domestic product, constant prices" & Units == "Annual percent change")[, c(4, 10:44)]

で、Gross domestic product, constant pricesとAnnual percent changeのデータを抜き出しています。勿論Excelで修正したものをRに読み込んでもいいです。、

matplot(1980:2014, t(pr[, -c(1)]), type = "b", ylab = "GDP", xlab = "yr", main = "GDP変化率 1980-2014", pch = 1, col = rainbow(n = nrow(pr2)))

で図を作成します。
t(pr[, -c(1)])で国名を抜いて、行と列を入れ替えています。
国の数が多いためpchは1で固定しています。
色はrainbowで指定していますが、国の数が多すぎて色の違いがはっきりわかりません。

特定の国のみ図にしたいのなら、

cntry <- c("China", "France", "Germany", "Japan", "United States")
pr2 <- pr[match(cntry, pr$Country), ]
matplot(1980:2014, t(pr2[, -c(1)]), type = "b", ylab = "GDP", xlab = "yr", main = "GDP変化率 1980-2014", pch = 1, col = rainbow(n = nrow(pr2)))

他にもいい方法があるかもしれませんが、参考にしてください。

投稿日時 - 2010-03-27 13:03:15


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板