No it is difficult to say when I donât know what you did in Excel and Sigma Plot. The latter I donât know and do not use it my self.
Yours sincerely / Med venlig hilsen Frede Aakmann Tøgersen Specialist, M.Sc., Ph.D. Plant Performance & Modeling Technology & Service Solutions T +45 9730 5135 M +45 2547 6050 fr...@vestas.com<mailto:fr...@vestas.com> http://www.vestas.com<http://www.vestas.com/> Company reg. name: Vestas Wind Systems A/S This e-mail is subject to our e-mail disclaimer statement. Please refer to www.vestas.com/legal/notice<http://www.vestas.com/legal/notice> If you have received this e-mail in error please contact the sender. From: Shane Carey [mailto:careys...@gmail.com] Sent: 25. april 2014 13:14 To: Frede Aakmann Tøgersen Cc: r-help@r-project.org Subject: Re: [R] Linear line on pairs plot Great, thanks Frede, This works perfectly. Ive tested these correlations with ones in sigma plot and excel and for some reason the r squared value is different. Any idea why this is? Thanks again for your help. Cheers On Fri, Apr 25, 2014 at 11:57 AM, Frede Aakmann Tøgersen <fr...@vestas.com<mailto:fr...@vestas.com>> wrote: Hi Have a look on how panel.smooth is defined: panel.smooth 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 = col.smooth, ...) } <bytecode: 0x000000000bfb2ce0> <environment: namespace:graphics> And change that to something like this: panel.regression <- function (x, y, col = par("col"), bg = NA, pch = par("pch"), cex = 1, col.regres = "red", ...) { points(x, y, pch = pch, col = col, bg = bg, cex = cex) ok <- is.finite(x) & is.finite(y) if (any(ok)) abline(stats::lm(y[ok] ~ x[ok]), col = col.regres, ...) } Substitute panel.smooth with panel.regression in your pairs.panel() function and you have it. Yours sincerely / Med venlig hilsen Frede Aakmann Tøgersen Specialist, M.Sc., Ph.D. Plant Performance & Modeling Technology & Service Solutions T +45 9730 5135<tel:%2B45%209730%205135> M +45 2547 6050<tel:%2B45%202547%206050> fr...@vestas.com<mailto:fr...@vestas.com> http://www.vestas.com Company reg. name: Vestas Wind Systems A/S This e-mail is subject to our e-mail disclaimer statement. Please refer to www.vestas.com/legal/notice<http://www.vestas.com/legal/notice> If you have received this e-mail in error please contact the sender. > -----Original Message----- > From: r-help-boun...@r-project.org<mailto:r-help-boun...@r-project.org> > [mailto:r-help-boun...@r-project.org<mailto:r-help-boun...@r-project.org>] > On Behalf Of Shane Carey > Sent: 25. april 2014 12:26 > To: r-help@r-project.org<mailto:r-help@r-project.org> > Subject: [R] Linear line on pairs plot > > Hi, > > Im trying to plot a linear line on the scatter plot using the pairs() > function. At the moment the line is non linear. However, I want a linear > line and the associated R value. > > Here is my current code: > > panel.cor.scale <- function(x, y, digits=2, prefix="", cex.cor) > { > usr <- par("usr"); on.exit(par(usr)) > par(usr = c(0, 1, 0, 1)) > r = (cor(x, y,use="pairwise")) > txt <- format(c(r, 0.123456789), digits=digits)[1] > txt <- paste(prefix, txt, sep="") > if(missing(cex.cor)) cex <- 0.8/strwidth(txt) > text(0.5, 0.5, txt, cex = cex * abs(r)) > } > > > panel.cor <- function(x, y, digits=2, prefix="", cex.cor) > { > usr <- par("usr"); on.exit(par(usr)) > par(usr = c(0, 1, 0, 1)) > r = (cor(x, y,use="pairwise")) > txt <- format(c(r, 0.123456789), digits=digits)[1] > txt <- paste(prefix, txt, sep="") > if(missing(cex.cor)) cex <- 0.8/strwidth(txt) > text(0.5, 0.5, txt, cex = cex ) > } > > > 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="cyan", ...) > } > > > pairs.panels <- function (x,y,smooth=TRUE,scale=FALSE) > {if (smooth ){ > if (scale) { > > pairs(x,diag.panel=panel.hist,upper.panel=panel.cor.scale,lower.panel=pane > l.smooth) > } > else > {pairs(x,diag.panel=panel.hist,upper.panel=panel.cor,lower.panel=panel.sm<http://panel.sm> > ooth) > } #else > {pairs(x,diag.panel=panel.hist,upper.panel=panel.cor,lower.panel=panel.sm<http://panel.sm> > ooth) > } > else #smooth is not true > { if (scale) {pairs(x,diag.panel=panel.hist,upper.panel=panel.cor.scale) > } else {pairs(x,diag.panel=panel.hist,upper.panel=panel.cor) } > } #end of else (smooth) > } #end of function > > pairs.panels(iris[1:4]) > > Thanks > > -- > Shane > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org<mailto:R-help@r-project.org> mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting- > guide.html > and provide commented, minimal, self-contained, reproducible code. -- Shane [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.