This is an R Markdown document. Markdown is a simple formatting syntax for authoring web pages (click the MD toolbar button for help on Markdown).
When you click the Knit HTML button a web page will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
首先來到GitHub Gist網站(如果沒有帳戶,記得申請一個),接著在頭像旁邊可以輸入中文說明這整個gist程式碼用途。下方可以輸入您的程式碼並點選﹝Create Public Gist﹞即可建立。
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2
## 1st Qu.:12.0 1st Qu.: 26
## Median :15.0 Median : 36
## Mean :15.4 Mean : 43
## 3rd Qu.:19.0 3rd Qu.: 56
## Max. :25.0 Max. :120
You can also embed plots, for example: 建立完成後,可以看到您的程式碼,左方有個「Embed」的語法,把那個script貼到網站上就可以了。
plot(cars)
suppressPackageStartupMessages(library(googleVis))
library(Rhipe)
## -------------------------------------------------------- | IMPORTANT:
## Before using Rhipe call rhinit() | | Rhipe will not work or most probably
## crash | --------------------------------------------------------
rhinit()
## Rhipe initialization complete
## Rhipe first run complete
## [1] TRUE
ap <- read.csv("~/下載/airports.csv")
## {r results='asis'}
b = rhread("/airline/ijjoin")
## RHIPE: Read 38 pairs occupying 1.039 KB, deserializing
print(b)
[[1]] [[1]][[1]] [1] “ABQ” “LAS”
[[1]][[2]] [1] 7
[[2]] [[2]][[1]] [1] “ALB” “LAS”
[[2]][[2]] [1] 1
[[3]] [[3]][[1]] [1] “AMA” “LAS”
[[3]][[2]] [1] 1
[[4]] [[4]][[1]] [1] “AUS” “LAS”
[[4]][[2]] [1] 3
[[5]] [[5]][[1]] [1] “BDL” “LAS”
[[5]][[2]] [1] 1
[[6]] [[6]][[1]] [1] “BHM” “JAX”
[[6]][[2]] [1] 1
[[7]] [[7]][[1]] [1] “BHM” “LAS”
[[7]][[2]] [1] 1
[[8]] [[8]][[1]] [1] “BNA” “JAX”
[[8]][[2]] [1] 4
[[9]] [[9]][[1]] [1] “BNA” “LAS”
[[9]][[2]] [1] 4
[[10]] [[10]][[1]] [1] “BOI” “LAS”
[[10]][[2]] [1] 2
[[11]] [[11]][[1]] [1] “BUF” “LAS”
[[11]][[2]] [1] 1
[[12]] [[12]][[1]] [1] “BWI” “IND”
[[12]][[2]] [1] 3
[[13]] [[13]][[1]] [1] “BWI” “ISP”
[[13]][[2]] [1] 7
[[14]] [[14]][[1]] [1] “BWI” “JAN”
[[14]][[2]] [1] 2
[[15]] [[15]][[1]] [1] “BWI” “JAX”
[[15]][[2]] [1] 3
[[16]] [[16]][[1]] [1] “FLL” “ISP”
[[16]][[2]] [1] 3
[[17]] [[17]][[1]] [1] “FLL” “JAX”
[[17]][[2]] [1] 6
[[18]] [[18]][[1]] [1] “HOU” “JAN”
[[18]][[2]] [1] 4
[[19]] [[19]][[1]] [1] “HOU” “JAX”
[[19]][[2]] [1] 1
[[20]] [[20]][[1]] [1] “IAD” “TPA”
[[20]][[2]] [1] 2
[[21]] [[21]][[1]] [1] “IND” “JAX”
[[21]][[2]] [1] 2
[[22]] [[22]][[1]] [1] “IND” “LAS”
[[22]][[2]] [1] 2
[[23]] [[23]][[1]] [1] “IND” “MCI”
[[23]][[2]] [1] 2
[[24]] [[24]][[1]] [1] “IND” “MCO”
[[24]][[2]] [1] 2
[[25]] [[25]][[1]] [1] “IND” “MDW”
[[25]][[2]] [1] 4
[[26]] [[26]][[1]] [1] “IND” “PHX”
[[26]][[2]] [1] 2
[[27]] [[27]][[1]] [1] “IND” “TPA”
[[27]][[2]] [1] 1
[[28]] [[28]][[1]] [1] “ISP” “LAS”
[[28]][[2]] [1] 1
[[29]] [[29]][[1]] [1] “ISP” “MCO”
[[29]][[2]] [1] 6
[[30]] [[30]][[1]] [1] “ISP” “MDW”
[[30]][[2]] [1] 4
[[31]] [[31]][[1]] [1] “ISP” “PBI”
[[31]][[2]] [1] 3
[[32]] [[32]][[1]] [1] “ISP” “RSW”
[[32]][[2]] [1] 1
[[33]] [[33]][[1]] [1] “ISP” “TPA”
[[33]][[2]] [1] 3
[[34]] [[34]][[1]] [1] “JAN” “MCO”
[[34]][[2]] [1] 1
[[35]] [[35]][[1]] [1] “JAN” “MDW”
[[35]][[2]] [1] 2
[[36]] [[36]][[1]] [1] “JAX” “ORF”
[[36]][[2]] [1] 2
[[37]] [[37]][[1]] [1] “JAX” “PHL”
[[37]][[2]] [1] 2
[[38]] [[38]][[1]] [1] “JAX” “TPA”
[[38]][[2]] [1] 3
y <- do.call("rbind", lapply(b, "[[", 1))
results <- data.frame(a = y[, 1], b = y[, 2], count = do.call("rbind", lapply(b,
"[[", 2)), stringsAsFactors = FALSE)
results <- results[order(results$count, decreasing = TRUE), ]
print(results)
a b count
1 ABQ LAS 7 13 BWI ISP 7 17 FLL JAX 6 29 ISP MCO 6 8 BNA JAX 4 9 BNA LAS 4 18 HOU JAN 4 25 IND MDW 4 30 ISP MDW 4 4 AUS LAS 3 12 BWI IND 3 15 BWI JAX 3 16 FLL ISP 3 31 ISP PBI 3 33 ISP TPA 3 38 JAX TPA 3 10 BOI LAS 2 14 BWI JAN 2 20 IAD TPA 2 21 IND JAX 2 22 IND LAS 2 23 IND MCI 2 24 IND MCO 2 26 IND PHX 2 35 JAN MDW 2 36 JAX ORF 2 37 JAX PHL 2 2 ALB LAS 1 3 AMA LAS 1 5 BDL LAS 1 6 BHM JAX 1 7 BHM LAS 1 11 BUF LAS 1 19 HOU JAX 1 27 IND TPA 1 28 ISP LAS 1 32 ISP RSW 1 34 JAN MCO 1
a.lat <- t(sapply(results$a, function(r) {
ap[ap$iata == r, c("lat", "long")]
}))
results$a.lat <- unlist(a.lat[, "lat"])
results$a.long <- unlist(a.lat[, "long"])
b.lat <- t(sapply(results$b, function(r) {
ap[ap$iata == r, c("lat", "long")]
}))
results$b.lat <- unlist(b.lat[, "lat"])
results$b.long <- unlist(b.lat[, "long"])
results$cumprop <- cumsum(results$count)/sum(results$count)
results$alatlong <- paste(results$a.lat, results$a.long, sep = ":")
geo <- gvisGeoChart(results, locationvar = "alatlong", colorvar = "count", options = list(region = "US",
height = 350, displayMode = "markers", colorAxis = "{colors: ['orange','blue']}"))
print(geo, "chart")
library("maps")
library("ggplot2")
map(database = "state")
tmp <- results[results[, "a"] == "IND", ]
for (i in 1:length(tmp$b)) {
lngs <- c(tmp$a.long, tmp$b.long[i])
lats <- c(tmp$a.lat, tmp$b.lat[i])
lines(lngs, lats, col = "#bb4cd4", lwd = 2)
}
symbols(tmp$a.long, tmp$a.lat, bg = "#e2373f", fg = "#ffffff", lwd = 0.5, circles = rep(1,
length(tmp$a)), inches = 0.1, add = TRUE)
symbols(tmp$b.long, tmp$b.lat, bg = "#bb4cd4", fg = "#ffffff", lwd = 0.5, circles = rep(1,
length(tmp$b)), inches = 0.05, add = TRUE)