R statistics/Installation: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(Major update; GRASS GIS 6 parts dropped)
(→‎Linux: +install.packages("terra"))
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
First of all you need to install '''''R''''' onto your system.
First of all you need to install '''''R''''' in your system.


R and many of its addon packages are pre-built and distributed through the CRAN network of mirrors. In addition many Linux distributions prepackage R and a number of the most popular addon toolboxes.
R and many of its packages are pre-built and distributed through the CRAN network of mirrors. In addition many Linux distributions pre-package R and a number of the most popular libraries.


All the necessary functions for the GRASS GIS interface are in packages on CRAN, so that on Linux/Unix (or Mac OSX) installing '''rgdal''' from source with PROJ and GDAL installed, or Windows installing from binary, the required packages are: '''sp'''; '''maptools'''; '''rgdal'''; '''spgrass''' - all on CRAN.
=== Status of rgrass package ===


==== Status of "rgrass" packages ====
See the overview here: https://cran.r-project.org/web/packages/rgrass/index.html


See overview here: https://cran.r-project.org/web/packages/rgrass/index.html
=== Installation ===
 
==== Source packages ====
 
From the R console first pick a local mirror:
chooseCRANmirror()
 
you can then see which repos has been picked with
options("repos")
 
To permanently save the mirror site add it to <tt>~/.Rprofile</tt>. For example:
options(repos=c(CRAN="<nowiki>http://cran.stat.auckland.ac.nz</nowiki>"))
 
and then run <tt>install.packages()</tt> as in the Quick Start section above.
 
For more information see http://cran.r-project.org/doc/manuals/R-admin.html


==== Linux ====
==== Linux ====
Line 32: Line 17:
  # apt-get install r-base r-cran-vr r-cran-rodbc r-cran-xml
  # apt-get install r-base r-cran-vr r-cran-rodbc r-cran-xml


Once those are installed start "<tt>R</tt>" at the command prompt and install the libraries not packaged by the OS:
Once those are installed start "<tt>R</tt>" at the command prompt and install the <tt>rgrass</tt> library:
: ''n.b. <tt>r-cran-sp</tt> is now shipped as an official Debian/Ubuntu package and can be installed with <tt>apt</tt> as above''


install.packages("sp")
<source lang="bash">
install.packages("gstat")
install.packages("rgrass", dependencies = TRUE)
 
install.packages("terra")
You can install the ''rgdal'' CRAN package directly:
</source>
  install.packages("rgdal")
 
And finally:
install.packages("rgrass", dependencies = TRUE)


* [https://cran.r-project.org/bin/linux/debian/ Debian] and [https://cran.r-project.org/bin/linux/ubuntu/ Ubuntu] specific help is also available from the R-project website.
* [https://cran.r-project.org/bin/linux/debian/ Debian] and [https://cran.r-project.org/bin/linux/ubuntu/ Ubuntu] specific help is also available from the R-project website.
Line 48: Line 28:
===== RPM based =====
===== RPM based =====


* '''RedHat, Fedora, openSuse, ...''' and similar distros: take the latest '''''R''''' RPM and install it
* '''RedHat, Fedora, openSuse, ...''' and similar distros:  
 
''R'' and a number of pre-build cran packages are already present in the main repositories. Start with:


  # sudo dnf install R-core R-core-devel R-XML
  # sudo dnf install R


Once those are installed, start as normal user "<tt>R</tt>" at the command prompt and install the libraries not packaged by the distro provider:
This R RPM is a meta-package. It has no content but ensures that the following components are installed: R-core, R-core-devel, R-java, R-java-devel, libRmath, libRmath-devel. Once those are installed, start "<tt>R</tt>" and install the <tt>rgrass</tt> library:


<source lang="bash">
<source lang="bash">
R
install.packages("rgrass", dependencies = TRUE)
install.packages("rgrass", dependencies = TRUE)
install.packages("terra")
</source>
</source>
'''Usage:''' You have the best user experience if you launch R within a running GRASS GIS session (then R automatically recognizes the current settings of the [[Computational region]] and "sees" the GRASS maps).


==== Mac OSX ====
==== Mac OSX ====


Start a R session, then
Start an R session and try:


* for install.packages() you might have to rely on building packages from source code. try:
<source lang="bash">
<source lang="bash">
R
install.packages("rgrass", type="source", dependencies = TRUE)
install.packages("rgrass", type="source", dependencies = TRUE)
</source>
</source>
Line 77: Line 49:
'''Startup of GRASS from within R:'''
'''Startup of GRASS from within R:'''


First you need to find the path to the GRASS binaries: Control-click on the GRASS.app and you'll get a popup menu; select "Show Package Contents" - this opens you to the directory structure. Go to Contents->MacOS which would be "GISBASE"; So, in my case, the "gisBase" parameter is "/HD/Applications/Grass-8.2.app/Contents/MacOS". If you Command-click at the top of the window on the folder icon beside "MacOS" (from the line above this one), you can see the full path.
First you need to find the path to the GRASS binaries: Control-click on the GRASS.app and you'll get a popup menu; select "Show Package Contents" - this opens you to the directory structure. Go to Contents->Resources which would be "GISBASE"; So, in my case, the "gisBase" parameter is "/HD/Applications/Grass-8.2.app/Contents/Resources". If you Command-click at the top of the window on the folder icon beside "Resources" (from the line above this one), you can see the full path.


Now we can run GRASS from within a R session:
Now we can run GRASS from within a R session:


<source lang="bash">
<source lang="bash">
initGRASS(gisBase ='/Applications/GRASS/GRASS-8.2.app/Contents/MacOS',  
library(rgrass)
           location = 'geostat2012_ll', mapset = 'user1',  
initGRASS(gisBase ='/Applications/GRASS-8.2.app/Contents/Resources',  
           gisDbase = '/Users/Lars/Documents/Biologi/grassdata', override = TRUE)
           location = 'nc_spm_08_grass7',  
          mapset = 'user1',  
           gisDbase = '/Users/carol/Documents/grassdata',  
          override = TRUE)
</source>
</source>


Line 95: Line 70:
</source>
</source>


Note: The path to the GRASS-x.x.app and the version number in libintl.X.dylib must reflect your own configuration.
'''Note''': The path to the GRASS-x.x.app and the version number in libintl.X.dylib must reflect your own configuration.


==== MS Windows ====
==== MS Windows ====
Line 105: Line 80:
or install Task View 'Spatial' - Analysis of Spatial Data
or install Task View 'Spatial' - Analysis of Spatial Data
  install.packages("ctv")
  install.packages("ctv")
  library("ctv")
  library(ctv)
  install.views("Spatial")
  install.views("Spatial")


Line 112: Line 87:
In winGRASS ([https://grass.osgeo.org/download/windows/#standalone-installers standalone installer] and [https://grass.osgeo.org/download/windows/#OSGeo4W OSGeo4W]) the installation path of R and RStudio are dynamically loaded into PATH.
In winGRASS ([https://grass.osgeo.org/download/windows/#standalone-installers standalone installer] and [https://grass.osgeo.org/download/windows/#OSGeo4W OSGeo4W]) the installation path of R and RStudio are dynamically loaded into PATH.


* Start winGRASS, bring the winGRASS-windows console in front and type ''R'' for opening a R-session (command line mode) inside a GRASS-session.
* Start winGRASS, bring the winGRASS-windows console in front and type ''R'' for opening an R session (command line mode) inside a GRASS session.
* Start winGRASS, bring the winGRASS-windows console in front and type ''RGui'' for opening a R-session (GUI mode) inside a GRASS-session.
* Start winGRASS, bring the winGRASS-windows console in front and type ''RGui'' for opening an R session (GUI mode) inside a GRASS session.


[[Category:Installation]]
[[Category:Installation]]

Latest revision as of 11:46, 18 March 2024

First of all you need to install R in your system.

R and many of its packages are pre-built and distributed through the CRAN network of mirrors. In addition many Linux distributions pre-package R and a number of the most popular libraries.

Status of rgrass package

See the overview here: https://cran.r-project.org/web/packages/rgrass/index.html

Installation

Linux

Debian and Ubuntu

R and a number of pre-build cran packages are already present in the main repositories. Start with:

# apt-get install r-base r-cran-vr r-cran-rodbc r-cran-xml

Once those are installed start "R" at the command prompt and install the rgrass library:

install.packages("rgrass", dependencies = TRUE)
install.packages("terra")
  • Debian and Ubuntu specific help is also available from the R-project website.
RPM based
  • RedHat, Fedora, openSuse, ... and similar distros:
# sudo dnf install R

This R RPM is a meta-package. It has no content but ensures that the following components are installed: R-core, R-core-devel, R-java, R-java-devel, libRmath, libRmath-devel. Once those are installed, start "R" and install the rgrass library:

install.packages("rgrass", dependencies = TRUE)
install.packages("terra")

Mac OSX

Start an R session and try:

install.packages("rgrass", type="source", dependencies = TRUE)

Startup of GRASS from within R:

First you need to find the path to the GRASS binaries: Control-click on the GRASS.app and you'll get a popup menu; select "Show Package Contents" - this opens you to the directory structure. Go to Contents->Resources which would be "GISBASE"; So, in my case, the "gisBase" parameter is "/HD/Applications/Grass-8.2.app/Contents/Resources". If you Command-click at the top of the window on the folder icon beside "Resources" (from the line above this one), you can see the full path.

Now we can run GRASS from within a R session:

library(rgrass)
initGRASS(gisBase ='/Applications/GRASS-8.2.app/Contents/Resources', 
          location = 'nc_spm_08_grass7', 
          mapset = 'user1', 
          gisDbase = '/Users/carol/Documents/grassdata', 
          override = TRUE)
Troubleshooting

If you get an error message when trying to call GRASS from R containing this line: dyld: Library not loaded: /usr/local/lib/libintl.8.dylib you need to establish a link from /Applications/Grass/GRASS-8.2.app/Contents/MacOS/lib/libintl.8.dylib to /usr/local/lib. This can be done through Terminal with the command:

sudo ln -s /Applications/Grass/GRASS-8.2.app/Contents/MacOS/lib/libintl.8.dylib /usr/local/lib/

Note: The path to the GRASS-x.x.app and the version number in libintl.X.dylib must reflect your own configuration.

MS Windows

Installation

Run:

install.packages("rgrass", dependencies = TRUE)

or install Task View 'Spatial' - Analysis of Spatial Data

install.packages("ctv")
library(ctv)
install.views("Spatial")
Usage

In winGRASS (standalone installer and OSGeo4W) the installation path of R and RStudio are dynamically loaded into PATH.

  • Start winGRASS, bring the winGRASS-windows console in front and type R for opening an R session (command line mode) inside a GRASS session.
  • Start winGRASS, bring the winGRASS-windows console in front and type RGui for opening an R session (GUI mode) inside a GRASS session.