library(ggmap)
for (i in 1:nrow(data)) {
if (data$lat[i] == 0) {
addr <- data$service_addr[i]
url = paste('http://maps.google.com/maps/api/geocode/xml?address=', addr,'&sensor=false',sep='')
doc = xmlTreeParse(url)
root = xmlRoot(doc)
data$lat[i] = xmlValue(root[['result']][['geometry']][['location']][['lat']])
data$lng[i] = xmlValue(root[['result']][['geometry']][['location']][['lng']])
}
}
# 將 data 內容寫入檔案 mymap.csv
write.table(data, file = "mymap.csv", sep = "," )
#
2017年2月21日 星期二
R 以地址取得經緯座標值
假如data.frame data中的lat值為0時,則利用google maps api geocode 查詢地址的經緯座標,並存回 data$lat 與 data$lng 中:
2017年2月20日 星期一
取得政府資料開放平台資料資源,將資料分類統計以R語言繪製成圓餅圖
library(data.table)
# 取得政府資料開放平台資料資源 (file format = csv)
data <- fread("http://search.data.gov.tw/wise/query?q=%2A%3A%2A&export=true&format=csv&rows=2147483647&d=1", header="auto", encoding = "UTF-8")
# 統計資料分類及分類數量, 統計結果以 data.frame 儲存至 categories
categories <- as.data.frame(table(data$服務分類))
# 計算每個分類百分比,取小數點第2位,將結果存於 pct
pct <- round(categories$Freq/sum(categories$Freq)*100,2)
# 把原來的分類"名稱 百分比 %" 存回原來的名類名稱中
categories$Var1 <- paste(categories$Var1, pct, "%", sep=" ")
#繪製圓餅圖 Piechart
pie(categories$Freq, labels=categories$Var1, main="政府資料開放平台資料資源", col=rainbow(length(categories$Var1)))
執行結果:
標籤:
2017,
程式,
programming,
R
訂閱:
意見 (Atom)