---
name: "r.regression.line"
section: "1grass"
platform: "linux"
package: "grass-doc"
version: "8.4.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/r.regression.line"
---

# r.regression.line(1grass)

Calculates linear regression from two raster maps: y = a + b\*x.

## NAME

**r.regression.line**  - Calculates linear regression from two raster maps: y = a + b\*x.

## KEYWORDS

raster, statistics, regression

## SYNOPSIS

**r.regression.line**\
 **r.regression.line --help**\
 **r.regression.line** \[-**g**\] **mapx**=*name* **mapy**=*name*  \[**output**=*name*\]   \[--**overwrite**\]  \[--**help**\]  \[--**verbose**\]  \[--**quiet**\]  \[--**ui**\]

### Flags:

- **-g**

  Print in shell script style

- **--overwrite**

  Allow output files to overwrite existing files

- **--help**

  Print usage summary

- **--verbose**

  Verbose module output

- **--quiet**

  Quiet module output

- **--ui**

  Force launching GUI dialog

### Parameters:

- **mapx**=*name* **\[required\]**

  Map for x coefficient

- **mapy**=*name* **\[required\]**

  Map for y coefficient

- **output**=*name*

  ASCII file for storing regression coefficients (output to screen if file not specified).

## DESCRIPTION

*r.regression.line* calculates a linear regression from two raster maps, according to the formula\

```
y = a + b*x
```

where\

```
x
y
```

represent the input raster maps.

Optionally, it saves regression coefficients as a ASCII file. The result includes the following coefficients: offset/intercept (a) and gain/slope (b), correlation coefficient (R), number of elements (N), means (medX, medY), standard deviations (sdX, sdY), and the F test for testing the significance of the regression model as a whole (F).

## NOTES

The results for offset/intercept (a) and gain/slope (b) are identical to that obtained from R-stats’s lm() function.

## EXAMPLE

Comparison of two DEMs (SRTM and NED, both at 30m resolution), provided in the North Carolina sample dataset:\

```
g.region raster=elev_srtm_30m -p
r.regression.line mapx=elev_ned_30m mapy=elev_srtm_30m
 y = a + b*x
   a (Offset): -1.659279
   b (Gain): 1.043968
   R (sumXY - sumX*sumY/N): 0.894038
   N (Number of elements): 225000
   F (F-test significance): 896093.366283
   meanX (Mean of map1): 110.307571
   sdX (Standard deviation of map1): 20.311998
   meanY (Mean of map2): 113.498292
   sdY (Standard deviation of map2): 23.718307
```

Using the script style flag AND *eval* to make results available in the shell:\

```
g.region raster=elev_srtm_30m -p
eval `r.regression.line -g mapx=elev_ned_30m mapy=elev_srtm_30m`
# print result stored in respective variables
echo $a
-1.659279
echo $b
1.043968
echo $R
0.894038
```

## SEE ALSO

*d.correlate,* *r.regression.multi,* *r.stats*

## AUTHORS

Dr. Agustin Lobo - alobo at ija.csic.es\
 Updated to GRASS 5.7 Michael Barton, Arizona State University\
 Script style output Markus Neteler\
 Conversion to C module Markus Metz

## SOURCE CODE

Available at: r.regression.line source code (history)

Accessed: Monday Feb 24 17:50:48 2025

Main index \| Raster index \| Topics index \| Keywords index \| Graphical index \| Full index

© 2003-2025 GRASS Development Team, GRASS GIS 8.4.1 Reference Manual
