網路上有非常多的開放性資料都是以 JSON 格式提供下載的,其實不管是什麼類型的資料,使用 jsonlite
來下載的方法都完全相同,只要將 JSON 網址複製下來,再透過 fromJSON
抓下來即可,而後續的處理與分析就要看資料的內容而定了。
以下是幾個從 R 中使用 jsonlite
套件直接下載網路 JSON 資料的範例。
政府資料開放平台上面有許多可以直接下載的資料,支援 JSON 格式下載的資料非常多,我們拿紫外線即時監測資料來做示範。
首先從政府資料開放平台的網頁中,查詢 JSON 資料的下載網址,把網址複製下來:
# 紫外線即時監測 JSON 資料網址 url <- "http://opendata.epa.gov.tw/ws/Data/UV/?format=json"
使用 fromJSON
直接下載 JSON 檔:
# 使用 jsonlite 下載 JSON 資料 my.data <- fromJSON(url)
這樣抓下來之後,就可以直接在 R 中使用了:
# 查看資料 head(my.data)
SiteName UVI PublishAgency County WGS84Lon WGS84Lat PublishTime 1 花蓮 10.81 中央氣象局 花蓮縣 121,36,48 23,58,30 2017-07-06 14:00 2 馬祖 8.84 中央氣象局 連江縣 119,55,24 26,10,09 2017-07-06 14:00 3 高雄 5.88 中央氣象局 高雄市 120,18,57 22,33,58 2017-07-06 14:00 4 玉山 7.94 中央氣象局 南投縣 120,57,34 23,29,15 2017-07-06 14:00 5 臺南 8.81 中央氣象局 臺南市 120,12,17 22,59,36 2017-07-06 14:00 6 新竹 8.50 中央氣象局 新竹縣 121,00,51 24,49,40 2017-07-06 14:00
內政資料開放平臺的各縣市統計區人口統計資料包含台灣各地區的人口統計數據,包含戶數、人口數、男性人口數、女性人口數等。
# 新竹縣統計區人口統計 JSON 網址 url <- "http://data.moi.gov.tw/MoiOD/System/DownloadFile.aspx?DATA=62571BAA-CA7C-448E-80D5-40C1303B9C3B" # 使用 jsonlite 下載 JSON 資料 my.data <- fromJSON(url) # 查看資料 head(my.data)
$Info InMetaDatCode InSTUnitCode InCountyId OutTotal 1 3A1FA_A1C2 U0202 10004 184 $ColumnList COLUMN_NAME DATA_TYPE COLUMN_DESC DISPLAY_UNIT 1 INFO_TIME 文字 資料時間 <NA> 2 CODE2 文字 二級發布區代碼 3 H_CNT 數值 戶數 戶 4 P_CNT 數值 人口數 人 5 M_CNT 數值 男性人口數 人 6 F_CNT 數值 女性人口數 人 $RowDataList PRODUCT_ID INFO_TIME CODE2 H_CNT P_CNT M_CNT F_CNT 1 99440 105Y12M A0405-05 985 2951 1409 1542 2 99440 105Y12M A0405-06 1 1 0 1 3 99440 105Y12M A0405-07 1121 3080 1576 1504 4 99440 105Y12M A0405-08 862 2720 1354 1366 5 99440 105Y12M A0405-09 956 3084 1521 1563 6 99440 105Y12M A0405-10 871 2741 1387 1354 [略]
這是行政院環境保護署環境資源資料開放平台的大甲媽祖遶境即時空品監測成果 JSON 資料下載範例。
# 大甲媽祖遶境即時空品監測成果 JSON 網址 url <- "http://opendata.epa.gov.tw/ws/Data/ATM00544/?$skip=0&$top=1000&format=json" # 使用 jsonlite 下載 JSON 資料 my.data <- fromJSON(url) # 查看資料 head(my.data)
MachineKey temp humi pm25 pm25Level lat lng gps_time 1 TP02 26 86 45 5 24.3491473 120.6170552 2016/4/17 下午 08:12:00 2 TP02 26 86 45 5 24.3491471 120.6170549 2016/4/17 下午 08:12:00 3 TP02 25 83 49 6 24.3491415 120.6170257 2016/4/17 下午 08:10:00 4 TP02 25 79 30 3 24.3491893 120.6170386 2016/4/17 下午 08:09:00 5 TP02 26 95 32 3 24.349189 120.6170382 2016/4/17 下午 08:08:00 6 TP03 25 91 59 8 24.3491511 120.6170786 2016/4/17 下午 08:08:00
Page: 1 2