0

南アメリカの 12 か国の GDP 値が 40 年以上にわたるデータ フレームがあります。フレームのスニペットは次のとおりです。

168     Chile  1244.1799 1972
169     Chile  4076.3207 1994
170     Chile  3474.7172 1992
171     Chile  2928.1562 1991
172     Chile  6143.7276 2004
173  Colombia   882.5687 1976
174  Colombia  1094.8795 1977
175  Colombia  5403.4557 2008
176  Colombia  2376.8022 2002
177  Colombia  2047.9784 1993

1) データフレームを国別に注文したい。最初の ~40 の値はアルゼンチンに関連し、次の ~40 はボリビアに関連する必要があります。

2) 各国のグループ内で、年ごとに並べたい。最初の 3 行は、アルゼンチン 2012、アルゼンチン 2011、アルゼンチン 2010 などに関連する必要があります。

を使用して各国のデータを個別に取得しsubset()、 で注文できorder()ます。確かに、すべての国でこれを行う必要はありませんrbind()。ファウル一挙にどうやってやるの?

3) 最終製品ができたら、縦に積み上げられた 12 個の小さな個別の折れ線グラフを作成したいと思います。それぞれが異なる国に関連しており、40 年間にわたるその国の GDP の傾向を示しています。そのようなプロットを作成するにはどうすればよいですか?

3番目の質問については自分で情報を見つけることができると確信していますが、そもそもそのようなグラフが何と呼ばれているのかさえわかりません..

4

1 に答える 1

1

を使った解決策を次に示しggplot2ます。データが次の場所にあると仮定しますdf

library(ggplot2)
df$year.as.date <- as.Date(paste0(df$year, "-01-01")) # convert year to date
ggplot(df, aes(x=year.as.date, y=gdp)) + 
  geom_line() + facet_grid(country ~ .)

ここに画像の説明を入力

実際には年と国で並べ替える必要はありませんggplot。それは処理されます。これがデータです (明らかに、5 か国と 12 年のみを使用していますが、これはあなたのデータには有効です)。また、3 行目の 2 つの列で並べ替える方法も示します。

countries <- c("ARG", "BRA", "CHI", "PER", "URU")
df <- data.frame(country=rep(countries, 12), year=rep(2001:2012, each=5), gdp=runif(60))
df <- df[order(df$country, df$year),]   # <- we sort here
df$gdp <- df$gdp + 1:12 / 2
于 2014-04-15T14:36:48.940 に答える