linReg {berryFunctions} R Documentation

## linear regression with plotting

### Description

uses `lm`; plots data if add=FALSE, draws the regression line with `abline` and writes the formula with `legend`

### Usage

```linReg(
x,
y = NULL,
data = NULL,
add = FALSE,
digits = 2,
pch = 16,
col = "black",
colline = "red",
colband = addAlpha(colline),
level = 0.95,
plotrange = par("usr")[1:2],
lwd = 1,
xlab = deparse(substitute(x)),
ylab = deparse(substitute(y)),
main = "linear regression",
pos1 = "top",
pos2 = NULL,
inset = 0,
legargs = NULL,
...
)
```

### Arguments

 `x` Numeric or formula (see examples). Vector with values of explanatory variable `y` Numeric. Vector with values of dependent variable. DEFAULT: NULL `data` Dataframe. If x is a formula, the according columns from data are used as x and y. DEFAULT: NULL `add` Logical. If TRUE, line and text are added to the existing graphic. DEFAULT: FALSE (plots datapoints first and then the line.) `digits` Numeric vector of length ≥ 1. Specifies number of digits a,b,r,e are rounded to in the formula "y=a*x+b \n R^2=r \n RMSE=e", respectively. If a value is negative, the complete respective entry is left away. If values are not specified, they are set equal to the first. DEFAULT: 2 `pch` Point Character of datapoints, see `par`. DEFAULT: 16 `col` Color of points. DEFAULT: "black" `colline` Color of the regression line, see `par`. DEFAULT: "red" `colband` Color of the confidence region band. DEFAULT: addAlpha(col) `level` Confidence level, see `predict.lm`. DEFAULT: 0.95 `plotrange` x range for which regression line and uncertainty band should be plotted. Is passed to `seqR` and can hence be a vector. DEFAULT: par("usr")[1:2] `lwd` Numeric. Linewidth, see `par`. DEFAULT: 1 `xlab` Axis label if add=FALSE. DEFAULT: deparse(substitute(x)) `ylab` Axis label if add=FALSE. DEFAULT: deparse(substitute(y)) `main` Title if add=FALSE. Changed (if not specified) for x=formula with data. DEFAULT: "linear regression" `pos1` `xy.coords`-acceptable position of the formula. DEFAULT: "top" `pos2` For numerical coordinates, this is the y-position. DEFAULT: NULL, as in `legend` `inset` Numeric vector of length ≤ 2. inset distance(s) from the margins as a fraction of the plot region when formula legend is placed by keyword. DEFAULT: 0 `legargs` list of arguments passed to legend, like list(cex=0.8, xpd=TRUE, bg="white"), ... xpd specifies whether formula can be written only inside the plot region (when FALSE) or inside the figure region including mar (when TRUE) or in the entire device region including oma (when NA). DEFAULT: NULL `...` Further arguments passed to `plot`

### Value

None, used for plotting and drawing.

### Author(s)

Berry Boessenkool, berry-b@gmx.de, 2011-2012, 2015

### See Also

`lm`, `mReg`, `expReg`, `legend`, `par`, `abline`.

### Examples

```
a <- 1:30
b <- a/2.345+rnorm(30,0,3)

linReg(a,b)
linReg(a,b, ylab="Hallo", pch=1, colline=3, main="Regression by Berry")
linReg(a, b, pos1=15, pos2=0) # position of topleft corner of legend
linReg(a, b, pos1=NA) # to suppress legend
linReg(a, b, plotrange=5:20) # only for plotting, all data points are used!
linReg(a,b, digits=c(2,3,2,-1) ) # Do not write RMSE into legend

# Formula specification:
linReg(b~a)
linReg(Fertility~Education, data=swiss, col="blue", colline="green")
# col is for points, colline + colband for regression line + conf.int.

# For more flexibility with the datapoints, plot first, then use linReg with add=TRUE:
plot(a,b, xlim=c(-5,45))
linReg(a, b, pos1="bottomright", add=TRUE, inset=.1) # inset: distance from plot border
linReg(a, b, digits=c(7,4,3), add=TRUE, colline=3, lty=2, lwd=4, level=0.8)
linReg(a, b, pos1="topleft", inset=c(-0.1, 0.3), legargs=list(xpd=TRUE), add=TRUE)

```

[Package berryFunctions version 1.20.1 Index]