Learn R Programming

PhotoGEA

Overview

PhotoGEA (short for photosynthetic gas exchange analysis) is an R package that provides a suite of tools for loading, processing, and analyzing photosynthetic gas exchange data. See Lochocki, Salesse-Smith, & McGrath (2025) for more information.

Installation

PhotoGEA is available on CRAN, so the easiest way to install the latest release is to type the following from within an R terminal:

install.packages('PhotoGEA')

See the Frequently Asked Questions for alternative installation methods.

Usage

The best way to learn about using PhotoGEA is to visit the PhotoGEA website and click the Get started link in the top menu bar. The website includes documentation for all the functions and data sets included in the package, as well as articles that describe its general features and several important use cases.

Example Scripts

The PhotoGEA Publications page includes links to publicly-available analysis scripts that have been used for peer-reviewed publications. These may be a useful source of ideas.

Several example scripts are also provided in the example_scripts directory of the source code repository. To run one of these scripts, set the working directory to a folder that contains a local copy of the script and use the source command to execute the code in the script. No guarantees are made that these scripts will run on your machine or be compatible with your data, but they may also be a useful source of ideas.

License

The PhotoGEA R package, its documentation, and its associated example scripts are licensed under the MIT license.

Copy Link

Version

Install

install.packages('PhotoGEA')

Monthly Downloads

191

Version

1.4.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Edward B. Lochocki

Last Published

August 25th, 2025

Functions in PhotoGEA (1.4.0)

PhotoGEA_example_file_path

Locate a PhotoGEA example file on your computer
c3_temperature_param_sharkey

C3 temperature response parameters from Sharkey et al.
PhotoGEA

The PhotoGEA R package
as.data.frame.exdf

Convert an exdf object to a data frame
barchart_with_errorbars

Barcharts with error bars
apply_gm

Calculate CO2 concentration in the chloroplast or mesophyll
by.exdf

Apply a function to an exdf object split by one or more factors
basic_stats

Calculate basic stats (mean and standard error)
c3_temperature_param_flat

C3 temperature response parameters for a flat response
c3_temperature_param_bernacchi

C3 temperature response parameters from Bernacchi et al.
c4_temperature_param_vc

C4 temperature response parameters from von Caemmerer
calculate_c3_assimilation

Calculate C3 assimilation rates
calculate_ball_berry_index

Calculate the Ball-Berry index
calculate_c3_limitations_warren

Estimate the relative limiting factors to C3 photosynthesis
calculate_c3_limitations_grassi

Estimate the relative limiting factors to C3 photosynthesis
calculate_c4_assimilation

Calculate C4 assimilation rates
calculate_c4_assimilation_hyperbola

Calculate C4 assimilation rates using a hyperbola
calculate_c3_variable_j

Calculate C3 variable J
c4_temperature_param_flat

C4 temperature response parameters for a flat response
calculate_gamma_star

Calculate Gamma_star from Rubisco specificity
calculate_temperature_response

Calculate temperature-dependent parameter values
calculate_isotope_discrimination

Calculate photosynthetic isotope discrimination
calculate_jmax

Calculate maximum electron transport rate
calculate_temperature_response_gaussian

Calculate temperature-dependent values using Gaussian equations
calculate_temperature_response_arrhenius

Calculate temperature-dependent values using Arrhenius equations
calculate_gm_ubierna

Calculate mesophyll conductance to CO2 diffusion
calculate_gas_properties

Calculate gas properties that are typically not included in Licor files
calculate_leakiness_ubierna

Calculate leakiness
calculate_temperature_response_johnson

Calculate temperature-dependent values using Johnson-Eyring-Williams equations
calculate_gm_busch

Calculate mesophyll conductance to CO2 diffusion
calculate_temperature_response_polynomial

Calculate temperature-dependent values using polynomial equations
calculate_ternary_correction

Calculate ternary correction factor
confidence_intervals_c3_aci

Calculate confidence intervals for C3 A-Ci fitting parameters
check_response_curve_data

Check response curve data for common issues
choose_input_files

Choosing input files
cbind.exdf

Combine exdf objects by columns or rows
calculate_wue

Calculate intrinsic water use efficiency
check_required_variables

Make sure required variables exist
confidence_intervals_c3_variable_j

Calculate confidence intervals for C3 Variable J fitting parameters
calculate_total_pressure

Calculate the total pressure in bar
dimnames.exdf

Retrieve or set the dimension names of an exdf object
confidence_intervals_c4_aci

Calculate confidence intervals for C4 A-Ci fitting parameters
csv.exdf

Read and write CSV files representing an exdf object
dim.exdf

Retrieve the dimension of an exdf object
deprecated

Deprecated functions
consolidate

Consolidate a list of lists
document_variables

Document exdf columns by specifying units and categories
error_function_c3_variable_j

Generate an error function for C3 Variable J curve fitting
confidence_intervals_c4_aci_hyperbola

Calculate confidence intervals for C4 A-Ci hyperbola fitting parameters
error_function_c3_aci

Generate an error function for C3 A-Ci curve fitting
estimate_licor_variance

Estimate variance of measured Licor values
example_data_files

Example data files
exdf

Extended data frame
fit_ball_berry

Fits the Ball-Berry model to an experimental curve
error_function_c4_aci_hyperbola

Generate an error function for C4 A-Ci curve fitting with a hyperbola
factorize_id_column

Convert ID column to a factor with a suitable ordering
extract.exdf

Access or modify exdf elements
error_function_c4_aci

Generate an error function for C4 A-Ci curve fitting
exclude_outliers

Exclude outliers from a data set
estimate_operating_point

Estimate the operating point from an A-Ci curve
get_oxygen_from_preamble

Extract oxygen information from a Licor file
fit_c3_aci

Fits a C3 assimilation model to an A-Ci curve
fit_laisk

Calculate RL and Ci_star using the Laisk method
identify_c3_limiting_processes

Identify C3 Limiting Processes
fit_c4_aci

Fits a C4 assimilation model to an A-Ci curve
fit_c4_aci_hyperbola

Fits a hyperbolic C4 assimilation model to an experimental curve
identifier_columns

Find columns that have a single value across all rows
fit_c3_variable_j

Fits a C3 assimilation model to an A-Ci + CF curve
get_sample_valve_from_filename

Extract TDL valve information from file name
fit_medlyn

Fits the Medlyn model to an experimental curve
jmax_temperature_param_bernacchi

Jmax-related temperature response parameters from Bernacchi et al.
identify_tdl_cycles

Identifying cycles in TDL data
initial_guess_c4_aci_hyperbola

Make an initial guess of C4 hyperbola parameter values for one curve
initial_guess_c4_aci

Make an initial guess of C4 photosynthesis parameter values for one curve
length.exdf

Length of an exdf object
identify_common_columns

Identify columns that are common to multiple objects
initial_guess_c3_variable_j

Make an initial guess of "Variable J" model parameter values for one curve
is.exdf

Is an object an exdf?
initial_guess_c3_aci

Make an initial guess of FvCB model parameter values for one curve
jmax_temperature_param_flat

Jmax-related temperature response parameters from Bernacchi et al.
plot_c4_aci_hyperbola_fit

Plot the results of a hyperbolic C4 CO2 response curve fit
multi_curve_colors

Set of colors for plotting multiple curves
plot_c3_aci_fit

Plot the results of a C3 CO2 response curve fit
pdf_print

Print a plot object or save it to a PDF
plot_c4_aci_fit

Plot the results of a C4 CO2 response curve fit
organize_response_curve_data

Reorganize response curve data for analysis and plotting
plot_ball_berry_fit

Plot the results of a C3 CO2 response curve fit
plot_laisk_fit

Plot the results of a C3 CO2 response curve fit
pair_gasex_and_tdl

Pair gas exchange and TDL data
optimizers

Optimizers
read_cr3000

Reading a CR3000 data file
read_licor_6800_plaintext

Reading a Licor LI-6800 plaintext log file
process_tdl_cycle_polynomial

Process TDL cycles using a polynomial correction method
read_gasex_file

Reading a gas exchange log file
residual_stats

Calculate statistics that describe the residuals of a fit
print.exdf

Print the contents of an exdf object
remove_points

Remove specific points from an exdf object
set_variable

Set values, units, and categories for a column in a table
read_licor_6800_Excel

Reading a Licor LI-6800 Excel log file
process_tdl_cycle_erml

Process cycles from the ERML TDL
xyplot_avg_rc

Plot average response curves with error bars
split.exdf

Divide an exdf object into groups
str.exdf

Display the structure of an exdf object
smooth_tdl_data

Smoothing data from one TDL valve