第2回Linked Open Dataハッカソン関西 in 大阪

オープンデータ と

R

チュートリアル
Rって
簡単!

かわはら
R で オープンデータ
• 鯖江市のデータを取得して
Webブラウザ上にマッピングする
R は 便利な解析ツール

統計
分析

• オープン & フリー
• グラフィックス
• 充実した解析環境
RStudio で 更に便利に
R用のIDE

統計
分析
R の 基本操作
•
•
•
•

(変数の代入)

a <- 1 #aに1を代入
b <- c(1:3) #bにベクトル(1,2,3)を代入
c <- c(‘x’, ‘y’, ‘z’)
d <- data.frame(d1=b, d2=c)
R の 基本操作

(データフレーム)

• d <- data.frame(d1=b, d2=c)
要素は「$」で表す
d1

d2

1

1

x

2

2

y

3

3

z

• d$d2[1] = d[1, 2] = “x”
R の 基本操作 (データの確認・準備)
• str(), head(), summary()でデータ確認
str(d$d1)
• as.XXXで型を変更 as.integer, as.character…
d$d1 <- as.charact...
R の 基本操作 (パッケージの利用)
• Rの機能を拡張するためのパッケージ
• install.packages() … インストール
• library() or require() … 呼び出し
• XML … XMLファイル操作
• ...
R で オープンデータ
• 鯖江市のAED設置場所をマッピング
R で オープンデータ (コード)
• データ取得から可視化まで、これだけ
install.packages('XML'); library(XML) #XML package
install.packages('googleVis'); li...
R で オープンデータ (データを取得)
• XMLデータを取得する
#XMLパッケージの導入
#この中の関数xmlToDataFrameを利用する
Install.packages(‘XML’)
library(XML)
#関数xmlToDa...
R で オープンデータ (データの確認)
• データの中身を(簡単に)確認する
str(data)
'data.frame': 134 obs. of 7 variables:
$ no : int 1 115 116 117 118 119 ...
R で オープンデータ (データを加工)
• データをマッピング用に加工する
#googleVisパッケージの導入
#この中の関数gvisMapを利用する
Install.packages(‘googleVis’)
library(google...
R で オープンデータ (データを表示)
• マッピングする
#gvisMapを利用してマッピング用データを準備
map <- gvisMap(data,
locationvar = “latlong”,
tipvar = “name”,
op...
R で オープンデータ (完成?)
R で オープンデータ (SPARQLもできます!)
#SPARQLパッケージを導入する
install.pacages(‘SPARQL’)
library(SPARQL)
#エンドポイントの指定
endpoint <- http://serv...
Upcoming SlideShare
Loading in …5
×

オープンデータとR 第2回Linked Open Dataハッカソン関西 in 大阪

1,071 views

Published on

2013/12/07 Sun. 第2回Linked Open Dataハッカソン関西 in 大阪 Rチュートリアル

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,071
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

オープンデータとR 第2回Linked Open Dataハッカソン関西 in 大阪

  1. 1. 第2回Linked Open Dataハッカソン関西 in 大阪 オープンデータ と R チュートリアル Rって 簡単! かわはら
  2. 2. R で オープンデータ • 鯖江市のデータを取得して Webブラウザ上にマッピングする
  3. 3. R は 便利な解析ツール 統計 分析 • オープン & フリー • グラフィックス • 充実した解析環境
  4. 4. RStudio で 更に便利に R用のIDE 統計 分析
  5. 5. R の 基本操作 • • • • (変数の代入) a <- 1 #aに1を代入 b <- c(1:3) #bにベクトル(1,2,3)を代入 c <- c(‘x’, ‘y’, ‘z’) d <- data.frame(d1=b, d2=c)
  6. 6. R の 基本操作 (データフレーム) • d <- data.frame(d1=b, d2=c) 要素は「$」で表す d1 d2 1 1 x 2 2 y 3 3 z • d$d2[1] = d[1, 2] = “x”
  7. 7. R の 基本操作 (データの確認・準備) • str(), head(), summary()でデータ確認 str(d$d1) • as.XXXで型を変更 as.integer, as.character… d$d1 <- as.character(d$d1) • names()で要素の名前取得/命名 names(d) names(d) <- c(“名前1”, “名前2”)
  8. 8. R の 基本操作 (パッケージの利用) • Rの機能を拡張するためのパッケージ • install.packages() … インストール • library() or require() … 呼び出し • XML … XMLファイル操作 • googleVis … Google Visualization API
  9. 9. R で オープンデータ • 鯖江市のAED設置場所をマッピング
  10. 10. R で オープンデータ (コード) • データ取得から可視化まで、これだけ install.packages('XML'); library(XML) #XML package install.packages('googleVis'); library(googleVis) #googleVis package int <- "integer"; num <- "numeric"; chr <- "character" #データ型の略記 url <- "http://www3.city.sabae.fukui.jp/xml/aed/aed.xml" #鯖江市URL data <- xmlToDataFrame(url, stringsAsFactors=F, colClasses=c(int, chr, chr, int, num, num, chr)) #データ取得 data$latlong <- paste(data$latitude, data$longitude, sep=":") #データ加工 plot(gvisMap(data, locationvar="latlong", tipvar="name")) #表示
  11. 11. R で オープンデータ (データを取得) • XMLデータを取得する #XMLパッケージの導入 #この中の関数xmlToDataFrameを利用する Install.packages(‘XML’) library(XML) #関数xmlToDataFrameを使ってXMLデータを取得 #この関数についてのヘルプを見るには、?xmlToDataFrame int <- "integer“; num <- "numeric“; chr <- "character“ url <- "http://www3.city.sabae.fukui.jp/xml/aed/aed.xml" data <- xmlToDataFrame(url, stringsAsFactors=F, colClasses=c(int, chr, chr, int, num, num, chr))
  12. 12. R で オープンデータ (データの確認) • データの中身を(簡単に)確認する str(data) 'data.frame': 134 obs. of 7 variables: $ no : int 1 115 116 117 118 119 120 121 122 123 ... $ name : chr "鯖江高等学校 " "鯖江市嚮陽会館" "鯖江市役所" "JAたんなん ふれあいセンター " ... $ address : chr "鯖江市舟津町2丁目5-42 " "鯖江市桜町2丁目7番1号" "鯖江市西山町13番1号"... $ count : int 1 1 1 1 1 1 1 1 1 1 ... $ latitude : num 35.9 35.9 36 36 36 ... $ longitude: num 136 136 136 136 136 ... $ url : chr "http://www3.city.sabae.fukui.jp/xml/aed/#1" "http://www3.city.sabae.fukui.jp/xml/aed/#115” ... latitude … 緯度 longitude … 経度
  13. 13. R で オープンデータ (データを加工) • データをマッピング用に加工する #googleVisパッケージの導入 #この中の関数gvisMapを利用する Install.packages(‘googleVis’) library(googleVis) #gvisMap関数で座標を指定するには、「緯度:経度」の形式が必要 #dataに緯度:経度を要素とする項目latlongを追加する #「データフレーム$項目名」<- 要素 で割り当て #欲しい要素は「data$latitude:data$longitude」なので #「data$latitude」と「data$longitude」を「:」で結合(paste) data$latlong <- paste(data$latitude, data$longitude, sep=":")
  14. 14. R で オープンデータ (データを表示) • マッピングする #gvisMapを利用してマッピング用データを準備 map <- gvisMap(data, locationvar = “latlong”, tipvar = “name”, options = list(showTip = F, enableScrollWheel = T, useMapTypeControl = T)) #作成したデータをブラウザで表示する plot(map)
  15. 15. R で オープンデータ (完成?)
  16. 16. R で オープンデータ (SPARQLもできます!) #SPARQLパッケージを導入する install.pacages(‘SPARQL’) library(SPARQL) #エンドポイントの指定 endpoint <- http://services.data.gov/sparql #クエリ query <-"PREFIX dgp1187: <http://data-gov.tw.rpi.edu/vocab/p/1187/> SELECT ?ye ?fi ?ac WHERE { ?s dgp1187:year ?ye . ?s dgp1187:fires ?fi . ?s dgp1187:acres ?ac . }" #クエリ qd <- SPARQL(endpoint,query); qd$result

×