WebTobinQ > Example > Chart

「WebTobinQ/Example/Chart」の編集履歴(バックアップ)一覧に戻る

WebTobinQ/Example/Chart - (2012/10/24 (水) 14:05:43) のソース

[[WebTobinQ/Example]]

以下のサイトにコピペして使う。
http://webtobinq.appspot.com/

**** 消費とgdpをplotしてみる
 df <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdGVESWc4OGs2cVJxYVFLaTFZNHhOLVE&single=true&gid=0&output=csv")
 plot(df[["Fiscal Year"]],df[["GDP(expenditure approach)"]],ylim=c(100000,600000))
 lines(df[["Fiscal Year"]],df[["PrivateConsumption"]])

#ref(20110910135705.png)

*** for文、etc. 1983年以降の失業率をplot。月次データから年次データに変換
 df <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdHZvV0IzaFBNQkowR21wNU4wS2FKb3c&single=true&gid=0&output=csv")
 totalName <- "男女計: Total"
 total <- df[[totalName]]
 n <- (length(total)/12)
 y <- 1:n
 for(i in 1:n) { b <- (12*(i-1))+1; e <- (12*(i-1))+12; y[i] <- mean(total[b:e]) }
 plot(1983:(1983+n-1), y, main="失業率(季節調整済み)", type="l")

(下のはたぶん古い)
 df <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdHZvV0IzaFBNQkowR21wNU4wS2FKb3c&single=true&gid=0&output=csv")
 totalName <- "男女計: Total"
 total <- df[[totalName]]
 n <- (length(total)/12)
 y <- 1:n
 for(i in 1:n) { b <- (12*(n-i))+1; e <- (12*(n-i))+12; y[i] <- mean(total[b:e]) }
 plot(1983:(1983+n-1), y, main="失業率(季節調整済み)", type="l")

#ref(20110910135749.png)


*** 25~34才の失業率(上とほとんど一緒)

 df <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdHZvV0IzaFBNQkowR21wNU4wS2FKb3c&single=true&gid=0&output=csv")
 totalName <- "男女計: 25~34"
 total <- df[[totalName]]
 n <- (length(total)/12)
 y <- 1:n
 for(i in 1:n) { b <- (12*(i-1))+1; e <- (12*(i-1))+12; y[i] <- mean(total[b:e]) }
 plot(1983:(1983+n-1), y, main="失業率(季節調整済み)男女計: 25~34", type="l")


*** 失業率25才~34才と35才~44才を並べる。

 df <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdHZvV0IzaFBNQkowR21wNU4wS2FKb3c&single=true&gid=0&output=csv")
 sumMonths <- function(total) {
  n <- (length(total)/12)
  y <- 1:n
  for(i in 1:n) { b <- (12*(i-1))+1; e <- (12*(i-1))+12; y[i] <- mean(total[b:e]) }
  y
 }
 y1 <- sumMonths(df[["男女計: 35~44"]])
 y2 <- sumMonths(df[["男女計: 25~34"]])
 plot(1983:(1983+(length(y1)-1), y1, main="失業率(季節調整済み)", type="l")
 lines(1983:(1983+(length(y1)-1), y2, type="l")

*** 失業率25才~34才から35才~44才を引く

 df <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdHZvV0IzaFBNQkowR21wNU4wS2FKb3c&single=true&gid=0&output=csv")
 sumMonths <- function(total) {
  n <- (length(total)/12)
  y <- 1:n
  for(i in 1:n) { b <- (12*(i-1))+1; e <- (12*(i-1))+12; y[i] <- mean(total[b:e]) }
  y
 }
 y1 <- sumMonths(df[["男女計: 35~44"]])
 y2 <- sumMonths(df[["男女計: 25~34"]])
 plot(1983:(1983+(length(y1)-1), y2-y1, main="失業率(季節調整済み)25~34 - 35~44", type="l")


*** 日本の人口全体

 pop <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdExXNEhTX3NHWHc3a014eEdxWUs1bHc&single=true&gid=0&output=csv")
 plot(pop[["Year"]], pop[["総数"]], type="l")

#ref(20110910134452.png)

*** 日本の人口1980年以降

 pop <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdExXNEhTX3NHWHc3a014eEdxWUs1bHc&single=true&gid=0&output=csv")
 year <- pop[["Year"]]
 total <- pop[["総数"]]
 plot(year[year>1979], total[year>1979], type="l")

#ref(20110910134508.png)

*** 老年人口と生産年齢人口をplot

 popu<- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdExXNEhTX3NHWHc3a014eEdxWUs1bHc&single=true&gid=0&output=csv")
 plot(popu[["Year"]], popu[["15~64(生産年齢人口)"]])
 lines(popu[["Year"]], popu[["65歳以上(老年人口)"]])

#ref(20110910142824.png)

*** 人口、推計とつなげる

  pop <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdExXNEhTX3NHWHc3a014eEdxWUs1bHc&single=true&gid=0&output=csv")
  popFuture <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdDljQ20yQzd1SGpFTXYyR3VzRDlUTXc&single=true&gid=0&output=csv")
  
  year <- pop[["Year"]]
  total <- pop[["総数"]]
  futTotal <- popFuture[["総数"]]
  futYear <- popFuture[["Year"]]
  
  yearall <- year
  yearall[length(year):((length(year)+length(futYear)-1)] <- futYear
  
  totalall <- total
  totalall[length(total):((length(total)+length(futTotal)-1)] <- futTotal
  
  plot(yearall, totalall, type="l")

#ref(20110910134527.png)

*** 老齢人口と推計をつなげる(ほとんど上と意味的には同じ。でもc実装したのを思い出して変更)

 pop <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdExXNEhTX3NHWHc3a014eEdxWUs1bHc&single=true&gid=0&output=csv")
 popFuture <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdDljQ20yQzd1SGpFTXYyR3VzRDlUTXc&single=true&gid=0&output=csv")
 
 years <- c(pop[["Year"]], popFuture[["Year"]])
 olds <- c(pop[["65歳以上(老年人口)"]], popFuture[["65歳以上(老年人口)"]])
 
 plot(years, olds, type="l")



*** GDPのうち資本減耗の占める割合
http://d.hatena.ne.jp/himaginary/20110823 ここでのグラフの再現。ただし1980年以降のみ(90年基準はどっからとってきたのだろう…)

 gdp <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdFI1WW1IVnRkbFhvdmxRc3FOMC12c1E&single=true&gid=0&output=csv")
 plot(gdp[["Year"]], gdp[["1.3  固定資本減耗(3.2)"]]/gdp[["   国内総生産(生産側)"]], ylim=c(0.10, 0.24))

#ref(20110911005305.png)

*** 生産年齢一人あたりのGDP
この手の物ってfor文無しで書けた気がするんだけど、思い出せず…(追記: sapplyだね。まだ実装してないや)

 df <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdGVESWc4OGs2cVJxYVFLaTFZNHhOLVE&single=true&gid=0&output=csv")
 production <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdExXNEhTX3NHWHc3a014eEdxWUs1bHc&single=true&gid=0&output=csv")
 subpro <- production[["15~64(生産年齢人口)"]][production[["Year"]]>1980]
 subproYear <- production[["Year"]][production[["Year"]]>1980]
 
 gdp <- subproYear
 
 for(i in 1:length(subproYear)) { year <- subproYear[i]; gdp[i] <- df[["GDP(expenditure approach)"]][df[["Fiscal Year"]] == year] }
 
 plot(subproYear, 100*gdp/subpro)

#ref(生産年齢一人あたりGDP.png)


*** 自営業者の数

 df <- read.csv("https://docs.google.com/spreadsheet/pub?key=0Ancau1TRtE7ddGpzQV9hTUMya1FpMnZBMVJqWWpURUE&single=true&gid=1&output=csv")
 plot(df[["year"]], df[["Self- employed worker"]])

ほぉ、減ってるね。労働者数との比率はどうだろう?

 df <- read.csv("https://docs.google.com/spreadsheet/pub?key=0Ancau1TRtE7ddGpzQV9hTUMya1FpMnZBMVJqWWpURUE&single=true&gid=1&output=csv")
 ratio <- df[["Self- employed worker"]]/df[["Total"]]
 plot(df[["year"]], ratio)

なぜか

 plot(df[["year"]], df[["Self- employed worker"]]/df[["Total"]])

はエラーになった。たぶんバグ。
前年との比の差分は?

 df <- read.csv("https://docs.google.com/spreadsheet/pub?key=0Ancau1TRtE7ddGpzQV9hTUMya1FpMnZBMVJqWWpURUE&single=true&gid=1&output=csv")
 ratio <- df[["Self- employed worker"]]/df[["Total"]]
 plot(1954:2010, ratio[2:length(ratio)]-ratio[1:(length(ratio)-1)])

別に最近減るのが早くなった、という傾向は無いかな。
これはあれか。一次産業抜かないとこうなっちゃうって話だなぁ、たぶん。

*** 従業員規模別非農林業雇用者数
eval allでは意味が分からないので一行ずつenterしてってください。
多少500人以上が増えているが、それでも28%くらいか。

最近は大手とか人減らして中小が増えてる、と思っていたけれど、そうでも無いなぁ。

 df <- read.csv("https://docs.google.com/spreadsheet/pub?key=0Ancau1TRtE7ddDRwNjh3Y0staHZ4X0R4MmhSYzk2ZHc&single=true&gid=1&output=csv")
 plot(df[["Year"]], df[["less than 30"]])
 lines(df[["Year"]], df[["less than 100"]])
 lines(df[["Year"]], df[["less than 500"]])
 lines(df[["Year"]], df[["more than 500"]])
 lines(df[["Year"]], df[["government employee"]])
 lines(df[["Year"]], df[["Total"]])


*** コアコアCPI

コピペ用に書いておく。

 df <- read.csv("https://docs.google.com/spreadsheet/pub?key=0AnKwf3jHs-oIdHhNczZ2WS0tZXNJZ3R4R0hPc3FOZ3c&single=true&gid=0&output=csv")
 plot(df[["Year"]], df[["All items, less food (less alcoholic beverages) and energy"]])
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。