r.regression.line.1grass - Man Page

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: Tuesday Mar 19 11:02:00 2024

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

© 2003-2024 GRASS Development Team, GRASS GIS 8.3.2 Reference Manual

Info

GRASS 8.3.2 GRASS GIS User's Manual