This page is the official/public wiki of Varhandle R package repository. In order to have control over this project and also protect my personal ideas, I develop the package in a private fork of this repository and update this public repo accordingly.
This repository only contains the working non-beta branch of the code including nightly builds in case of minor changes due to malfunction or possible bug.
The best place to follow the package is here and the best place to get the package is from CRAN. But the package is also available in the following repositories:
This package is a collection of functions with the goal to help R users work with variables easier safer and faster. All functions that are present in this package are written due to the needs my colleagues and/or I felt while coding in R and working on their projects, or they are some of my best practices that I wanted others to use in a systematic form.
check.numeric - A function to check if values of character vector can be safely converted to numericinspect.na - Quick and fast way to check the NAs in columns of a tabular object (e.g data.frame, matrix)pin.na - Provide coordinates of each NA in the datarm.all.but - Remove variables except those that match a criteria and free-up memory (garbage collection)save.var - Saves provided list of variables individually to diskto.dummy - Convert a categorical column to binary columnsunfactor - Convert factor to appropriate class automatically (vector or tabular)var.info - Provides a quick overview of variablesDetail of each function can be found in the package's official documentation
Release notes of the package can be found in the following link: https://codeberg.org/mehrad/varhandle/src/branch/master/NEWS.md
At every moment there can be at least one and at most two versions available. One version is the one that is in CRAN repository and the other one is the nightly-builds. The CRAN is always available and nightly-builds are only generated in case of an update that can not wait until the next CRAN publication date (You can not update your package very frequently due to CRAN regulations and the reviewers are sometimes cranky about some minor NOTEs during the package build).
Simply go to your R environment and run the code below:
install.packages("varhandle")
First you should get the package file (.tar.gz) from this repository by navigating to the address below: https://codeberg.org/mehrad/varhandle/releases
Then there are two simple ways, either you prefer to install the package in the R environment:
install.packages(path_to_file, repos = NULL, type="source")
or you prefer to install it just through your terminal without entering R environment (just replace the_package_file.tar.gz with the file you downloaded):
R CMD INSTALL the_package_file.tar.gz
Please report the issues you encounter in the issues section of this repository. But before posting, please check if the issue is not already among the open issues.
For reporting an issue, please make sure to provide the following, and if you cannot, please briefly mention why:
If you have any idea on how the issue should be solved, please mention it.
Any sort of contribution is highly welcome and it can be done in one of the following ways:
If you are choosing to go with this approach, please provide enough examples and explanation so that I can either replicate the issue if it is a bug or understand the importance of your suggestion. You can do this by writing text, recording Gifs, recording a video, make a small presentation, basically any form of communication that you would feel comfortable with.
git clone https://gitlab.com/mehrad/varhandle.git
This repo comes with a good makefile. This is there for you to use, and to study. Use it to your advantage while you are working on this project. To learn how to use the makefile, simply go to the project folder and do:
make help
When you change the code and made sure it works try building it normally without CRAN standards to see if there are anything that R has problem with:
make all
Then when there was no ERRORS, WARNINGS, or NOTES, then try the following to make sure it is up to CRAN standards as well:
make all-cran