User Tools

Site Tools


how_to_write_the_script

How to write the R script for JUICE?

JUICE exports data into R via the bin folder of R installation (usually at c:/Program files/R/R-x.x.x/bin), and these data could be automatically loaded by appended R script. Files, which should be exported from JUICE, could be either manually selected in JUICE-R wizard, or could be selected automatically according to JUICE-R tags in R script header. The script, which is uploaded into R from JUICE, has two parts:

  1. the part created and appended automatically by JUICE, which contains script for uploading data exported from JUICE into appropriate R variables;
  2. the part created by the user, which contains the original R script.

JUICE part of the script

The complete R script, which JUICE automatically appends to the script file (i.e. this part should not be in the script, because it will be automatically appended) and which is intended for import of the data from JUICE to R, has the following structure:

setwd("C:/Program Files/R/R-x.xx.x/bin/")
JUICE.table <- read.table ('table.txt', sep = '\t', check.names = F, head = T, row.names = 1)
JUICE.short.head <- read.table('ShortHead.txt', sep='\t', head = T)
JUICE.species.data <- read.table ('SpeciesData.txt', sep='\t', head = T)
JUICE.head <- read.table ('TableHead.txt', sep='\t', head = T)

The files which JUICE exports in current session depends on which data are being exported. The command setwd sets the R working directory, into which the JUICE files are exported and from which R can read them.

Files exported from JUICE into R

Original file name 1) Name of variable in R Content Original file format 2) Format of variable in R 3)
table.txtJUICE.table sample x species matrix samples in rows, species in columns; first row - species names4)), first column - releve numbers samples in rows, species in columns, releve numbers as rownames, species names as names
ShortHead.txtJUICE.short.head short header data samples in rows, three columns with names Releve_Number, Group_Number, Short_Head samples in rows, short header data in columns (Releve_Number, Group_Number and Short_Head)
SpeciesData.txtJUICE.species.data data associated to species species in rows, ten columns with names SpecName_Layer, Species_Name, Layer, Species_Data and species Ellenberg indicator values: Ellenberg_Light, Ellenberg_Temperature, Ellenberg_Continentality, Ellenberg_Moisture, Ellenberg_Soil_Reaction and Ellenberg_Nutrients species in rows, species attributes in columns (SpecName_Layer, Species_name, Layer, Species_Data, Ellenberg_Light, Ellenberg_Temperature, Ellenberg_Continentality, Ellenberg_Moisture, Ellenberg_Soil_Reaction and Ellenberg_Nutrients)
TableHead.txtJUICE.head (long) header data samples in rows, first two columns are Table number and Releve number, other columns and their names depends on the original JUICE file samples in rows, header data as columns (first two are Table.number and Releve.number)

User's part of the script

The script written by the user and stored in the file with *.r extension. It consists of following parts:

  1. header information
  2. JUICE-R tags (setting of export options in JUICE)
  3. the body of the script

1. Header information

Contains important information about the script. Follow this format (# at the beginning is important - R will ignore this line):

# Name: short name of the script
# Author: Firstname Lastname (email@where.to.complain)
# Description: brief description what is it doing 
# Version: version number (starts with 1.0, after minor revision it becomes 1.1, after major 2.0)
# Date: when was the script posted

2. JUICE-R tags

The function of these tags is to set up particular switches for export of JUICE data into R. JUICE reads these tags while loading the script.

Tag name Tag function - what JUICE should do
JUICE.table export sample x species matrix into table.txt file; R will read it as JUICE.table
JUICE.short.head export short head into ShortHead.txt; R will read it as JUICE.short.head
JUICE.species.data export species attributes into SpeciesData.txt; R will read it as JUICE.species.data
JUICE.head export (long) header data into TableHead.txt; R will read it as JUICE.head
Rgui.exe the script will run in interactive mode in R GUI
R.exe the script will run in batch mode in R.exe
no.transf sample x species data will not be transformed (the transformation setting will be ignored)

The line with tags MUST begin with a string # JUICE-R5) (this is the sign for JUICE that JUICE-R tags follows) and should be located within the first 10 lines of the R script. Tags must be separated by space, and their order does not matter. Example, which will export sample x species data, header data and run the script in interactive mode (Rgui.exe6)).

JUICE-R tags can also contain link to website with detail instructions about how to use the script. This link must be the last tag in the sequence, and should start with http://.

Example of JUICE-R tags:

# JUICE-R JUICE.table JUICE.head Rgui.exe http://www.davidzeleny.net/juice-r/doku.php?id=scripts:generalists-specialists

3. The body of the script

This part is up to the R script creator. If possible, try to make it convenient for potential users. See tips for writing the R script for JUICE-R.

1)
these files are saved in R working directory
2)
all files are in tab-separated format
3)
all variables are data frames
4)
species names are given in a format genus species_layer, where layer is represented by a number code: 0 - merged layers, 1 - tree layer, 4 - shrub layer, 6 - herb layer, 7 - juveniles and 9 - mosses
5)
with or without the space between # and JUICE-R
6)
note that Rgui.exe, as well as R.exe, should be written with capital 'R'!
how_to_write_the_script.txt · Last modified: 2015/12/15 14:00 (external edit)