Title

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)

plot of chunk unnamed-chunk-2

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)

plot of chunk unnamed-chunk-5