-
Housekeeping improvements
-
Fixes an error in
exportMeasuredTraits()that occurred when no measured trait variables (ending in"_a","_b", or"_c") were present in the dataset. The function now returns a valid emptyCM_dfobject instead of failing during the binding step.
-
Added a suite of data-export functions to simplify extraction of structured ClimMob project outputs:
exportBlockData()exportMeasuredTraits()exportTrialMetadata()exportTricotRanks()exportVariablesDescription()
These functions provide direct access to commonly used data structures in ClimMob projects, improving workflow efficiency for analysis and reporting.
- Internal codebase updated to support new export functions and maintain consistency across all data-handling utilities.
- Minor enhancements in internal helper functions for data parsing and formatting (no behavioural changes).
- Fixes an issue in handling column names with the overall characteristic.
- The
as.data.frame.CM_list()method now defaults to pivot.wider = TRUE, returning a wide-format data frame. - The
as.data.frame.CM_list()method has a validation line to only coerce to data.frame objects with more than 1 data point.
- Re-factored internal code structure for improved readability and performance. Introducing modular helper functions to support the
as.data.frame.CM_list()method, improving code clarity and reusability.replace_multichoice_codes().handle_geolocation_columns().replace_rankings().decode_assessments().merge_package_info().clean_column_names().drop_odk_system_fields().reorder_columns().safe_extract()
- Enhanced column name cleaning logic when
as.data.frame.CM_list()tidynames = TRUE, producing more consistent and informative names. - Restructured column ordering in the output to prioritize project, package, and registration variables.
- Simplified logic for reshaping and labelling assessment variables, removing the dependency on
.set_long()when pivot.wider = TRUE. - Reordered output columns to prioritize key identifiers (
project,package,registration, and assessments).
- Fixed an issue where geolocation columns containing only missing values (e.g.,
_longitude,_latitude) would lead to the final data frame having zero columns. These are now removed conditionally and safely.
getProjectsCM()adds a new variable in the outputproject_codethat will represent the previousproject_id. The new variableproject_idwill represent the id from the ClimMob server database not the id from the user list of projects.
- Fixes issues in vignetted building reported by CRAN.
- Improves indexing of technologies aliases in
ClimMobTools:::as.data.frame()
- Fix an issue in
.smart.round()to handleNAin therandomize()function
- Fix an issue in
randomize()to allocate blocks
- Adds the function
getTraitList() - Fix the call in
getProjectsCM()to adapt to the new version of ClimMob
- Add argument
userowner =togetDataCM()to specify the owner of a given ClimMob project - Fix API call
getProjectsCM()
- Fix an issue in
randomise()to check for unbalanced designs - Remove dependency to "PlackettLuce" and "climatrends" to avoid errors in CRAN check for Windows
randomise()deals with unbalanced proportions of technologies, meaning that we can test a whole set of technologies even when not all have equal availabilityrmGeoIdentity()is added to offer an approach to remove geographical identity of participantsrankTricot()builds a PlackettLuce rankings using the tricot data
- New function
getProjectProgress()returns the progress in a given project
- Fix the function to set the URLs for alternative servers in ClimMob
- Method for
as.data.frame()now handles ClimMob data without the assessment info. as.data.frame()decodes values from categorical variablesas.data.frame()decodes ties in the ranking data- Handle alternative server addresses
- Imports 'PlackettLuce' and 'climatrends' by default
- Use
httr::RETRY()instead ofhttr::GET()as suggested by Anna Vasylytsya - A
print()method is added - New integration with the 'testing' server enabling to gather data from this server with the argument
server - Minor changes in documentation
- Migrating functions from ClimMobTools to gosset and climatrends. ClimMobTools will keep only the functions exclusively related to the 'ClimMob' platform. Other functions are transferred to gosset and climatrends to provide a better environment for data handling, analysis and visualization.
- Retain function
getDataCM(),getProjectCM(),randomise()andseed_need() - Changes in package description
- A S3 method
as.data.frame()is provided to coerce CM_list into a data frame - Internal functions for pivoting data.frames to avoid dependencies
- Change license to MIT
temperatureandrainfallnow deals with one single lonlat point
- Update
build_rankingsto work with the new implementations of PlackettLuce v0.2-8
- Argument "grouped.rankings" is replaced by "group" in
build_rankings
- GitHub-only release of prototype package.