User Tools

Site Tools


anadat:cs:fun:panelfun

Panelové funkce pro pairs()

# ----------------------------------------------------------------------------
#    panelove funkce pro pairs()
#    Analysing Ecological Data. (2007). Zuur, Ieno and Smith. Springer, 680p.
#    This file was produced by Alain Zuur (highstat@highstat.com)
#    www.highstat.com
# ----------------------------------------------------------------------------
panel.cor <- function(x, y, digits=1, prefix="", cex.cor)
{
    usr <- par("usr"); on.exit(par(usr))
    par(usr = c(0, 1, 0, 1))
    r1=cor(x,y,use="pairwise.complete.obs")
    r <- abs(cor(x, y,use="pairwise.complete.obs"))
 
    txt <- format(c(r1, 0.123456789), digits=digits)[1]
    txt <- paste(prefix, txt, sep="")
    if(missing(cex.cor)) cex <- 0.7/strwidth(txt)
    text(0.5, 0.5, txt, cex = cex * r)
}
 
panel.smooth2=function (x, y, col = par("col"), bg = NA, pch = par("pch"),
    cex = 1, col.smooth = "red", span = 2/3, iter = 3, ...)
{
    points(x, y, pch = pch, col = col, bg = bg, cex = cex)
    ok <- is.finite(x) & is.finite(y)
    if (any(ok))
        lines(stats::lowess(x[ok], y[ok], f = span, iter = iter),
            col = 1, ...)
}
 
 
panel.lines2=function (x, y, col = par("col"), bg = NA, pch = par("pch"),
    cex = 1, ...)
{
    points(x, y, pch = pch, col = col, bg = bg, cex = cex)
    ok <- is.finite(x) & is.finite(y)
    if (any(ok)){
        tmp=lm(y[ok]~x[ok])
        abline(tmp)}
 
}
 
panel.hist <- function(x, ...)
{
    usr <- par("usr"); on.exit(par(usr))
    par(usr = c(usr[1:2], 0, 1.5) )
    h <- hist(x, plot = FALSE)
    breaks <- h$breaks; nB <- length(breaks)
    y <- h$counts; y <- y/max(y)
    rect(breaks[-nB], 0, breaks[-1], y, col="white", ...)
}
 
 
# pouziti:
#---------
# vygenerovana nahodna data:
#dat<- data.frame(a=rnorm(100), b=rnorm(100))
#dat$c<- dat$a*2+rnorm(100)
 
# pouziti panel funkci v pairs():
#pairs(dat, lower.panel= panel.cor, upper.panel= panel.smooth2, diag.panel=panel.hist)
# ----------------------------------------------------------------------------
anadat/cs/fun/panelfun.txt · Last modified: 2017/04/07 23:59 by vitek