Fundamentally, both MARK and RMark share the common computing framework underlying MARK. That is, regardless of which program you use, ultimately the actual computations are done in MARK. Therefore, program MARK must be installed on your computer for either program to work.
Key differences
MARK runs using a graphical user interface (GUI)*, which has many fairly user-friendly menus and graphical tools for constructing and displaying models, such as parameter index matrix (PIM) charts and design matrices. MARK also uses a specific data entry format that typically involves a capture history string, followed by one or more frequency columns (how many animals in each group have that history), and terminated by a semicolon, e.g., :
100001 12 13;
for a 6-period capture history with 2 groups and 12 individuals in one group 13 in the other.
RMark runs directly out of the R statistical package and does not use a graphical interface (other than what one might use to run R, such as R studio). RMark uses a slightly different format for data than MARK in that capture histories are read into a data frame, with one record for each individual (not groups) of animals. For example
ch
100001
000101
000101
indicates 4 individual, 6-period capture histories (ch), each a character string. Group or covariate effects are read from additional columns in the data or obtained by manipulation of the design data (which we will see later). For example
100001 Male
000101 Female
000101 Female
would assign the first capture history string to the "Male" group and the next 2 strings to the "Female" group.
RMark also has a built in conversion feature that will convert MARK files for use in RMark dataframes, and automatically creates files that can be used as input into MARK if later desired.
Advantages of each program
As you can imagine, there are pros and cons to each program (or why else would they be there, with people using them?).
MARK advantages
Been around a long time, and has a lot of support
Relatively easy to use for many standard CMR and other types of data
Many built-in models and great flexibility in building new models
MARK disadvantages
Requires a specific data format that must be user built
User interface can be cluttered (so many models) and takes up significant memory*
PIMS and Design matrices can be tedious to build and run for complex models, and it is easy to make mistakes
Not easy to interact with other programs (say in a simulation environment)*
RMark advantages
R can readily manage the data as needed to create the necessary data objects to run RMark
Performs most MARK models without requiring a GUI (so less memory overhead)
Easy to integrate into a standard R session so data can be readily read, formatted and run and output can be summarized, graphed, etc.
Powerful scripting language allows easy model construction and should be familiar to anyone who has done generalized linear modeling
Certain things like real parameter model averaging and prediction are more straightforward
Easy to interact with other programs (e.g,, data base management, simulation, display)
RMARK diadvantages
Requires a bit more familiarity with modeling than MARK
Shorter 'legacy' although much online and published documentation exists
Some MARK models (very few) not yet implemented
Some data types (e.g., large tag recovery data or CJS data sets with many repeated capture histories) more efficient to run in the specialized input formats available in MARK
Some MARK features (like parametric bootstrapping1) not available, but are easily built as user-defined functions (I provide several)
1 Only affects certain a few model structures (CJS, tag recovery), since bootstrap simulation is only available for these models.
*More advanced users will realize that MARK can in fact be run without the GUI, in the Windows command line. However, one has to know exactly how to set up input files and this is tricky unless you really know what you're doing. It is, however, the reason that MARK can be run from other programs like SAS and yes, R -- which is what RMark does!