2017-01-01から1年間の記事一覧

prophetでガソリン価格の予測

prophetパッケージを利用してみようということで、 とりあえずvignetteにあるものをデータを変えて実行してみた。 ガソリン価格の予測を行う 資源エネルギー庁のHPから給油所小売価格調査(ガソリン、軽油、灯油)の週次データを取得し、 レギュラーガソリン…

tmapパッケージはしばらく更新がないらしい

先日tmap(version 1.11)の更新通知が来ていた。 たまたまNewsを確認したところ下記のような記載があり、 sfパッケージがspに置き換わるまでしばらく更新はなさそうである。 NOTE: this will be the last version before the major update (in which sf fully…

tmapパッケージはしばらく更新がないらしい

先日tmap(version 1.11)の更新通知が来ていた。 たまたまNewsを確認したところ下記のような記載があり、 sfパッケージがspに置き換わるまでしばらく更新はなさそうである。 NOTE: this will be the last version before the major update (in which sf fully…

国立大学の職位別の人数と年齢構成

文科省では学校教員統計調査というのをやっているらしい。 最新だと平成28年の実施結果がe-statにて公開されているので、可視化してみた。 詳しいことはわからないが、 男性は職位と人数が反比例しているが、 近年の女性活躍させるという政策の下?、女性は…

高速にggplotする

r sf

ここ(Accelerating ggplot2: use a canvas to speed up plots creation)にあるように、 ベースマップを作成しておくことで高速な描画が期待できる。 library(tidyverse) library(sf) nc <- read_sf(system.file("shape/nc.shp", package="sf")) nc_p <- st…

行番号(名前)をデータフレームに追加する

r

これまではtibble::rowid_to_column()を利用してきたが、この処理をもう少し早くする必要が出てきてしらべていたら、dplyr::add_rownames()の存在を知り、速度比較したらあやかったので今後はこれを使うことにする。 library(tidyverse) library(microbenchm…

グラフをつくる前に読む本

グラフをつくる前に読む本を読んだ。 献本されたというツイッターを多く見たので、読んでみた。 下記に示すグラフの種類についてどのような場合に・どのようなことを表現したいときに利用すべきかが書いてある。 棒グラフ 折れ線グラフ 円グラフ レーダーチ…

RQGISを利用してみる

RQGISパッケージを利用することでQGISの関数を利用することができる。 インストール方法はvignetteにまとめられているので、そちらを参考に進めるとインストールできる。 ger <- raster::getData(name = "GADM", country = "DEU", level = 1) library(sp) li…

日本学生支援機構の奨学金

日本学生支援機構で初となる給付型奨学金に約2500人を採用されたそうである。 日本学生支援機構の奨学金の貸与者数について調べてみると、 平成26年の実績が公表されている。 月ごとに貸与者数に変動があるが、多い時で第一種で約45万人、第二種で85万…

学会名鑑による建築・土木系学会の会員数

日本の学会を調べるのに便利?な学会名鑑というものがある。 分野ごとに学会を調べられるので、土木工学・建築学に絞ってスクレイピングし、 学会の会員種別ごとの人数を調べてみた。 土木学会、日本建築学会がメジャーな学会であることがわかる。 7位には土…

建設総合統計の可視化

国土交通省では、国内の建設活動を出来高ベースで把握することを目的に建設総合統計を毎月発表している。 気が向いたので、ちょっと可視化してみた。 使用するデータは2017/9/19に発表された2010年4月から2017年7月分までのデータを利用する。 都道府県別の…

sf::read_sf()とrgdal::readOGR()とtmaptools::read_shp()の速度比較

Rでシェープファイルデータを読込むための関数でどれが一番速度が速いか比較する。 library(sf) library(tmaptools) library(rgdal) library(microbenchmark) rfile <- system.file("shape/nc.shp", package="sf") microbenchmark(sf::read_sf(rfile), sf::s…

mapview::mapview()の引数オプション

mapview::mapview()で利用する引数に関するメモ。 library(mapview) library(sf) nc <- read_sf(system.file("shape/nc.shp", package="sf")) mapview(nc, zcol="AREA", # 色分けするデータ(列) #color="blue", # ラインの色 #col.regions="red", # ポリゴ…

sfオブジェクトをggplot()する場合はgeometryカラムの名前に注意

geom_sf()関数を利用するにあたり geometryカラムがgeometryではなくgeomの場合にはエラーが出た。 解決方法のメモ。 library(sf) library(ggplot2) library(spData) data(world) head(world) Simple feature collection with 6 features and 10 fields geom…

facet_wrap()利用時にすべてのデータを表示させておく

ggplot2においてfacet_wrap()関数は便利であり利用頻度が高いが、 当該分類データ以外のデータを背景として表示させ、 分布状況をより明快にしたい場合がある。 library(ggplot2) library(dplyr) mtcars %>% ggplot(aes(disp, mpg)) + geom_point()+ facet_w…

特定の値をNAに置き換える(またはNAを特定の値に置き換える)

国土数値情報からダウンロードしたメッシュデータの中にはunknownという値が含まれており、 各フィールドはキャラクターとして認識され、意図している数値型として認識されていない事例に遭遇した。 皆さんどうしてるんですかね? とりあえずunknownという値…

read_sf()とst_read()

r sf

st_read()とread_sf() 最近read_sf()という関数を知った。 st_read()との違いに関してメモ。 read_sf()の関数について確認すると以下のようになっており、 quiet=TRUE, stringsAsFactors=FALSEでデータを読み込んでいる。 library(sf) library(dplyr) read_s…

sfパッケージによる空間データの操作

r sf

利用パッケージ library(sf) library(tidyverse) library(viridis) library(jpndistrict) データの準備 fukuoka <- jpndistrict::spdf_jpn_pref(code=40) class(fukuoka) [1] "SpatialPolygonsDataFrame" attr(,"package") [1] "sp" spクラスからsfクラスへ…

ggplot2でグループごとの図を出力する

ggplotでグループごとに図を出力したい場合がある。 意外と簡単な方法でできるのでメモ。 stackoverflow.com library(ggplot2) library(dplyr) res <- iris %>% group_by(Species) %>% do( plots= ggplot(data=.) + geom_point(aes(Sepal.Length, Petal.Leng…

また株価で遊んでみた

r

ここで取得した株価で遊んでみた。 ooooooha.hatenablog.com 建設業関連の株価の終値の増加率の累積地を可視化してみた。 全体的に株価が上昇しているのがわかる。 塩漬けでも投資しておけば小遣い程度は稼げたんだろうな。 これをみると景気拡大期間バブル…

Rでインタラクティブな地図表示はmapviewで十分

たまたまmapviewパッケージのヘルプ(example)をみていたら、 mapview()関数を + でつないでいく方法があることを知った。 もう単なる地図表示だけとりあえず表示してインタラクティブに確認したい場合は これを使えば十分そう。 ただし、データ容量の大きい…

ポリゴン内にテキスト(ラベル)を表示する

ポリゴン内に各ポリゴンの属性を表示したい。 何回か調べているので、メモとして残す。 # using packages library(ggplot2) library(kokudosuuchi) library(sf) library(sp) options(stringsAsFactors = F) # preparation url <- kokudosuuchi::getKSJURL("N…

ここ一年のTOPIX30の株価(終値)の推移

ここ一年のTOPIX30の株価(終値)を可視化してみた。 便利なパッケージがあるらしいが、うまく機能しなかった。 yahooではスクレイピングを禁止しているらしい、 また、させないように仕様を頻繁に?変更しているらしいので、 そのほかでできそうな記事を参…

自作関数の高速化

efficient R programingを読んでいて今後使えそうなことに関するメモ。 3.7 では自作関数の高速化について述べられている。 自作関数にcompiler::cmpfun()を適用すればよいだけらしい。 library(compiler) mean_r = function(x) { m = 0 n = length(x) for(i…

tmapとggplot2の出力結果の比較

空間データのプロット sfやspクラスオブジェクトのデータをプロットする方法について tmapとggplot2パッケージによる出力を比較してみる。 library(tmap) library(sf) library(mapview) library(ggplot2) spクラスオブジェクトとsfクラスオブジェクトの2つを…

行の結合にはrbind.fill()が便利

各データフレームを行で結合したい場合がある。 列で結合する場合はleft_join()などのjoin関数がある。 データがない部分はNAで保管される。 library(plyr) rbind.fill(mtcars[c("mpg", "wt")], mtcars[c("wt", "cyl")]) mpg wt cyl 1 21.0 2.620 NA 2 21.0 …

leaflet、mapviewパッケージを用いた可視化のコードサンプル

いつも調べながら書いているので、 よく利用するオプションを書いておく # 必要とするパッケージ library(mapview) library(kokudosuuchi) library(tidyverse) library(sp) # データの読込(岐阜県の行政区域) getURL <- kokudosuuchi::getKSJURL("N03", pref…

data.frameからsfクラスのデータを作成する方法

r sf

結論から言うとst_as_sf(data.frame, coords=c(x, y), crs=4612)というように行えばよい library(sp) library(sf) data(meuse) head(meuse) ## x y cadmium copper lead zinc elev dist om ffreq soil lime landuse ## 1 181072 333611 11.7 85 299 1022 7.9…

sfクラスのデータ抽出

r sf

ポリゴン内のポイントまたはポイントがあるポリゴンデータを抽出したい場合がある. 特に難しいことはないが,メモとして残しておく. library(sf) set.seed(1) nc <- system.file("shape/nc.shp", package="sf") %>% st_read nc1 <- nc[1:50, ] nc_points <…

公示価格を可視化してみた

r

国土数値情報の中には「地価公示」のデータがあったので、可視化してみた。 バブリーな時代があったんだなということが改ためて確認できた。 また、東京の一極集中が加速していて、バブル期に迫るくらいに土地の値段が上がっていた。 2017年の各都道府県…