###env.data <- read.delim (file = 'clipboard', head = T, row.names = 1)
library (vegan)
data.stand <- decostand (env.data, method = 'standardize')
mm <- cor (data.stand)

#korelace dvou proměnných
plot (NO.SPEC ~ AREA, env.data, type = 'n', xlab = 'plocha prameniště (log)', ylab = 'počet druhů (log)', main = "species - area relationship")
points (NO.SPEC ~ AREA, env.data, pch = 16)
abline (lm(NO.SPEC ~ AREA, env.data), col = 'red', lwd = 2, lty = 2)

#korelace matice promennych
# 1) heatmap
## http://www.r-bloggers.com/pretty-correlation-map-of-pimco-funds/

##příprava barevné palety, kterou budu v diagramu používat
library (RColorBrewer)
brew <- brewer.pal(name="RdBu",n=5)
##vytvoření barevné škály
cc.brew <- colorRampPalette(brew)
cc <- cc.brew(nrow(mm))
##samotná heatmap {stats}
heatmap(mm,symm=TRUE,Rowv=NA,Colv=NA,col=cc,RowSideColors=cc, main = "")
title(main="Tabulka korelací",outer=TRUE,line=-1,cex.main=1.3)

###nebo za pomoci fce levelplot {lattice}
## http://stackoverflow.com/questions/5453336/r-plot-correlation-matrix-into-a-graph
require(lattice)
levelplot(mm, col.regions= cc.brew, xlab = '', ylab = '')

# 2)elipsy
## http://gallery.r-enthusiasts.com/RGraphGallery.php?graph=149
install.packages ('ellipse')
library (ellipse)
colors <- c("#A50F15","#DE2D26","#FB6A4A","#FCAE91","#FEE5D9","white","#EFF3FF","#BDD7E7","#6BAED6","#3182BD","#08519C") #barvy podle RColorBrewer (červená a modrá RdBu)
plotcorr(mm, col=colors[5*mm + 6], type = "lower", diag = TRUE)

# 3) Correlogram
## http://gallery.r-enthusiasts.com/graph/Correlograms,148
install.packages ('corrgram')
require( corrgram )
## zobrazení několika typů grafů v jedné tabulce
###elipsy + body + křivky
corrgram(data.stand, order=T,
         main= 'korelace měřených proměnných prostředí',
         upper.panel=panel.ellipse,
         lower.panel=panel.pts,
         diag.panel=panel.density)
###koláče + sloupce
corrgram(data.stand, order=T,
         main= 'korelace měřených proměnných prostředí',
         upper.panel=panel.pie,
         lower.panel=panel.bar,
         diag.panel=panel.density)
###barvy a koeficienty
corrgram(data.stand, order=T,
         main= 'korelace měřených proměnných prostředí',
         upper.panel=panel.shade,
         lower.panel=panel.conf,
         diag.panel=panel.minmax)


# 4) funkce pairs - vytvoří matici/tabulku párových grafů na základě zadané funkce
## http://gallery.r-enthusiasts.com/RGraphGallery.php?graph=137
## http://yatani.jp/HCIstats/MultipleRegression

### pairs(data, lower.panel=panel.xxx, upper.panel=panel.yyy)
### funkce panel.cor dosadí do grafu hodnoty korelačnícho koeficientů a jejich hladiny významnosti
panel.cor <- function(x, y, digits=3, prefix="", cex.cor, ...)
{
  usr <- par("usr"); on.exit(par(usr))
  par(usr = c(0, 1, 0, 1))
  r <- cor(x, y,use="complete.obs")
  txt <- format(c(r, 0.123456789), digits=digits)[1]
  prefix <- "r = "
  prefix4 <- "\np = "
  rc <- cor.test(x,y)
  rci <- rc$conf.int
  rcp <- rc$p.value
  star <- symnum(rcp, corr = FALSE, na = FALSE, 
                 cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1),
                 symbols = c("***", "**", "*", ".", " ")) 
  txt4 <- format(c(rcp, 0.123456789), digits=digits)[1]
  txt <- paste(prefix, txt, prefix4, txt4, " ", star, sep="")
  if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
  text(0.5, 0.5, txt, cex = 1)
}

pairs(data.stand, lower.panel=panel.smooth, upper.panel=panel.cor)#####

# 5) v podstate to same, jako predchozi, ale jeste vztunenejsi a rovnou udelana funkce / nemusi se to vyrabet
## http://gettinggeneticsdone.blogspot.cz/
install.packages ('PerformanceAnalytics')
library (PerformanceAnalytics)
chart.Correlation (data.stand)
