takemikamiʼs note ‒ http://takemikami.com/
ims@sparqlではじめる
R Markdownとgitbookによるレポート⽣成
Copyright (C) Takeshi Mikami. All rights reserved. 1
みかみんP(フリーランスITエンジニア) twitter: @takemikamas
2017.9.2 あいますえんじにあ Meetup in 京都
R RMarkdown SPARQL im@sparql
takemikamiʼs note ‒ http://takemikami.com/
副業紹介
• みかみんP (@takemikamas)
• フリーランスITエンジニア
• データ分析及び機械学習等の応⽤システム開発
• マーケティングデータ分析基盤のシステム開発
• 略歴
• 確率論・情報通信ネットワーク @ 甲南⼤学理学部応⽤数学科
• Web系システムの開発・構築 @ NEC系SIer
• 旅⾏系ECサイトのマーケティングデータ分析 @ DeNA
• データ分析及び機械学習等の応⽤システム開発 @ フリーランス
• 最近扱っている技術領域
• Hadoop&Spark, Scala, Python, hivemall, AWS
Copyright (C) Takeshi Mikami. All rights reserved. 2
発表者の副業を紹介します
P
takemikamiʼs note ‒ http://takemikami.com/
im@sparqlとは
Copyright (C) Takeshi Mikami. All rights reserved. 3
im@sparqlの紹介をします
im@s + sparql = im@sparql
• アイマスワールドのデータベース
• WebやアプリからSPARQLでアクセス可能
takemikamiʼs note ‒ http://takemikami.com/
R Markdownとは
• Markdown形式の⽂書で、
⽂書中のRのコードを実⾏し、
結果を確認することが出来る
• RMarkdownから
実⾏結果を埋め込んだ
Markdown⽂書に変換することが出来る
Copyright (C) Takeshi Mikami. All rights reserved. 4
R Markdownの紹介をします
Rの実⾏結果の埋め込みが出来る
Markdown形式の⽂書
takemikamiʼs note ‒ http://takemikami.com/
R Markdown中のコード実⾏
• 埋め込んだRのコード部分でShift+Control+Enterで実⾏
Copyright (C) Takeshi Mikami. All rights reserved. 5
RStudioでR Markdown中のコードを実⾏するイメージを⽰します
takemikamiʼs note ‒ http://takemikami.com/
gitbookとは
Copyright (C) Takeshi Mikami. All rights reserved. 6
gitbookの紹介をします
gitとmarkdownによる書籍⽣成ツール
• Markdownで記載したドキュメントから、
いろいろな形式の書籍を⽣成出来る。
• HTML
• PDF
• ePub
• gitbook.comという
書籍公開のプラットフォームもある
takemikamiʼs note ‒ http://takemikami.com/
レポート作成の仕組みの全体像
• RStudioでデータを分析し、その結果からpdf等を⽣成します。
Copyright (C) Takeshi Mikami. All rights reserved. 7
レポート作成の仕組みの全体像を⽰します
html
pdf
Rmd md
分析のプロセス
gitbookR/knitrレポート⽣成の
プロセス
takemikamiʼs note ‒ http://takemikami.com/
Rからim@sparqlにクエリを投げる
• SPARQLのライブラリ⽂字化けしたので、tidyjsonとcurlでなんとかした
Copyright (C) Takeshi Mikami. All rights reserved. 8
Rからim@sparqlのendpointにクエリを投げてみました
library(dplyr)
library(curl)
library(tidyjson)
imasparql <- function(q) {
endpoint <- https://sparql.crssnky.xyz/spql/imas/query
requrl <- paste(endpoint , "?query=" , URLencode(q, reserved=TRUE), sep="")
result <- curl_fetch_memory(requrl)
rtnarray <- rawToChar(result$content) %>% enter_object('results') %>% enter_object('bindings') %>%
gather_array
return(rtnarray)
}
df <- imasparql(“※ここにSPARQL※")
%>% spread_values(name=jstring("name", "value"), sum = jstring(”sum", "value") )
%>% select("name", ”sum")
ここにクエリ
ここにとりたいカラムここにとりたいカラム
takemikamiʼs note ‒ http://takemikami.com/
RStudioで分析しているイメージ
Copyright (C) Takeshi Mikami. All rights reserved. 9
RStudioで分析しているイメージです
CuCoPaの
得票数ヒストグラム
都道府県別⼈⼝と
アイドル数のプロット
takemikamiʼs note ‒ http://takemikami.com/
⽣成したレポートのイメージ
Copyright (C) Takeshi Mikami. All rights reserved. 10
⽣成したPDFレポートのイメージです
takemikamiʼs note ‒ http://takemikami.com/
分析例
• 東京出⾝アイドルは多いが、⼈⼝との⽐率でみても多いのか?
Copyright (C) Takeshi Mikami. All rights reserved. 11
im@asparqlを⽤いた分析例を紹介します
東京
→やっぱり多い
→都道府県別⼈⼝
ア
イ
ド
ル
数
↑
takemikamiʼs note ‒ http://takemikami.com/
分析例
• ⼈⼝⽐では、⾼知・⽯川・福井など東京より多いところが9県
Copyright (C) Takeshi Mikami. All rights reserved. 12
im@asparqlを⽤いた分析例を紹介します
→都道府県別⼈⼝
ア
イ
ド
ル
数
↑
この辺りが
気になる
takemikamiʼs note ‒ http://takemikami.com/
分析例
• 愛知・⼤阪・福岡などは⼈⼝に対してアイドルが少ない
Copyright (C) Takeshi Mikami. All rights reserved. 13
im@asparqlを⽤いた分析例を紹介します
→都道府県別⼈⼝
ア
イ
ド
ル
数
↑
逆に
少ないとこは?
→もっとスカウトした⽅がよいのか?

Ims@sparqlではじめるr markdownとgitbookによるレポート生成

  • 1.
    takemikamiʼs note ‒http://takemikami.com/ ims@sparqlではじめる R Markdownとgitbookによるレポート⽣成 Copyright (C) Takeshi Mikami. All rights reserved. 1 みかみんP(フリーランスITエンジニア) twitter: @takemikamas 2017.9.2 あいますえんじにあ Meetup in 京都 R RMarkdown SPARQL im@sparql
  • 2.
    takemikamiʼs note ‒http://takemikami.com/ 副業紹介 • みかみんP (@takemikamas) • フリーランスITエンジニア • データ分析及び機械学習等の応⽤システム開発 • マーケティングデータ分析基盤のシステム開発 • 略歴 • 確率論・情報通信ネットワーク @ 甲南⼤学理学部応⽤数学科 • Web系システムの開発・構築 @ NEC系SIer • 旅⾏系ECサイトのマーケティングデータ分析 @ DeNA • データ分析及び機械学習等の応⽤システム開発 @ フリーランス • 最近扱っている技術領域 • Hadoop&Spark, Scala, Python, hivemall, AWS Copyright (C) Takeshi Mikami. All rights reserved. 2 発表者の副業を紹介します P
  • 3.
    takemikamiʼs note ‒http://takemikami.com/ im@sparqlとは Copyright (C) Takeshi Mikami. All rights reserved. 3 im@sparqlの紹介をします im@s + sparql = im@sparql • アイマスワールドのデータベース • WebやアプリからSPARQLでアクセス可能
  • 4.
    takemikamiʼs note ‒http://takemikami.com/ R Markdownとは • Markdown形式の⽂書で、 ⽂書中のRのコードを実⾏し、 結果を確認することが出来る • RMarkdownから 実⾏結果を埋め込んだ Markdown⽂書に変換することが出来る Copyright (C) Takeshi Mikami. All rights reserved. 4 R Markdownの紹介をします Rの実⾏結果の埋め込みが出来る Markdown形式の⽂書
  • 5.
    takemikamiʼs note ‒http://takemikami.com/ R Markdown中のコード実⾏ • 埋め込んだRのコード部分でShift+Control+Enterで実⾏ Copyright (C) Takeshi Mikami. All rights reserved. 5 RStudioでR Markdown中のコードを実⾏するイメージを⽰します
  • 6.
    takemikamiʼs note ‒http://takemikami.com/ gitbookとは Copyright (C) Takeshi Mikami. All rights reserved. 6 gitbookの紹介をします gitとmarkdownによる書籍⽣成ツール • Markdownで記載したドキュメントから、 いろいろな形式の書籍を⽣成出来る。 • HTML • PDF • ePub • gitbook.comという 書籍公開のプラットフォームもある
  • 7.
    takemikamiʼs note ‒http://takemikami.com/ レポート作成の仕組みの全体像 • RStudioでデータを分析し、その結果からpdf等を⽣成します。 Copyright (C) Takeshi Mikami. All rights reserved. 7 レポート作成の仕組みの全体像を⽰します html pdf Rmd md 分析のプロセス gitbookR/knitrレポート⽣成の プロセス
  • 8.
    takemikamiʼs note ‒http://takemikami.com/ Rからim@sparqlにクエリを投げる • SPARQLのライブラリ⽂字化けしたので、tidyjsonとcurlでなんとかした Copyright (C) Takeshi Mikami. All rights reserved. 8 Rからim@sparqlのendpointにクエリを投げてみました library(dplyr) library(curl) library(tidyjson) imasparql <- function(q) { endpoint <- https://sparql.crssnky.xyz/spql/imas/query requrl <- paste(endpoint , "?query=" , URLencode(q, reserved=TRUE), sep="") result <- curl_fetch_memory(requrl) rtnarray <- rawToChar(result$content) %>% enter_object('results') %>% enter_object('bindings') %>% gather_array return(rtnarray) } df <- imasparql(“※ここにSPARQL※") %>% spread_values(name=jstring("name", "value"), sum = jstring(”sum", "value") ) %>% select("name", ”sum") ここにクエリ ここにとりたいカラムここにとりたいカラム
  • 9.
    takemikamiʼs note ‒http://takemikami.com/ RStudioで分析しているイメージ Copyright (C) Takeshi Mikami. All rights reserved. 9 RStudioで分析しているイメージです CuCoPaの 得票数ヒストグラム 都道府県別⼈⼝と アイドル数のプロット
  • 10.
    takemikamiʼs note ‒http://takemikami.com/ ⽣成したレポートのイメージ Copyright (C) Takeshi Mikami. All rights reserved. 10 ⽣成したPDFレポートのイメージです
  • 11.
    takemikamiʼs note ‒http://takemikami.com/ 分析例 • 東京出⾝アイドルは多いが、⼈⼝との⽐率でみても多いのか? Copyright (C) Takeshi Mikami. All rights reserved. 11 im@asparqlを⽤いた分析例を紹介します 東京 →やっぱり多い →都道府県別⼈⼝ ア イ ド ル 数 ↑
  • 12.
    takemikamiʼs note ‒http://takemikami.com/ 分析例 • ⼈⼝⽐では、⾼知・⽯川・福井など東京より多いところが9県 Copyright (C) Takeshi Mikami. All rights reserved. 12 im@asparqlを⽤いた分析例を紹介します →都道府県別⼈⼝ ア イ ド ル 数 ↑ この辺りが 気になる
  • 13.
    takemikamiʼs note ‒http://takemikami.com/ 分析例 • 愛知・⼤阪・福岡などは⼈⼝に対してアイドルが少ない Copyright (C) Takeshi Mikami. All rights reserved. 13 im@asparqlを⽤いた分析例を紹介します →都道府県別⼈⼝ ア イ ド ル 数 ↑ 逆に 少ないとこは? →もっとスカウトした⽅がよいのか?