--- title: "NOT functions, is.log, is.poisson, is.weibull, date3to1, genRandImg, vector_shuffle, data_pop, and init function amongst many great new functions in the quickcode R package" author: "Obinna (OBI) Obianom, Brice Richard" date: "`r Sys.Date()`" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{NOT functions, is.log, is.poisson, is.weibull, date3to1, genRandImg, vector_shuffle, data_pop, and init function amongst many great new functions in the quickcode R package} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r setup, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ### A compilation of NOT functions + some useful functions to simply R programming, keep the console neat, and save memory usage ## Install ``` devtools::install_github("oobianom/quickcode") install.packages("quickcode") # when published ``` ## List of many cool functions to use ``` %nin% Not in vector or array add.header Addin snippet function to add header comment to a current opened file add.sect.comment Addin snippet function to custom section comment add.snippet.clear Snippet R function to clear console and set directory add_key Add index keys to a vector or data frame or list or matrix ai.duplicate Prompt guided duplication of files archivedPkg Listing of all CRAN archived R packages as.boolean Convert boolean values between formats bionic_txt Generate a bionic text clean Clear environment, clear console, set work directory and load files compHist Compare histograms of two distributions data_pop Remove last n rows or column or specified elements from a data frame like array_pop in PHP data_pop_filter Remove elements from a data matching filter data_push Add data to another data like array_push in PHP data_rep Duplicate a data rows or columns X times data_shuffle Shuffle a data frame just like shuffle in PHP date1to3 Combine vectors to create Date, or split Date into vectors date3to1 Combine vectors to create Date, or split Date into vectors duplicate Duplicate a file with global text replacement fAddDate Append date to filename genRandImg Download random images from the web geo.cv Calculate geometric coefficient of variation, mean, or SD and round geo.mean Calculate geometric coefficient of variation, mean, or SD and round geo.sd Calculate geometric coefficient of variation, mean, or SD and round has.error Check if a call or expression produces errors header.rmd Snippet function to add header to a current Rmd opened file in.range If number falls within a range of values and get closest values inc Increment vector by value init Initialize new variables and objects insertInText Shiny app function to insert string to current file in RStudio is.gamma Check if a data fits a Normal or LogNormal or Uniform or Poisson or Gamma distribution is.image Is file name extension(s) an image is.logistic Check if a data fits a Normal or LogNormal or Uniform or Poisson or Gamma distribution is.lognormal Check if a data fits a Normal or LogNormal or Uniform or Poisson or Gamma distribution is.normal Check if a data fits a Normal or LogNormal or Uniform or Poisson or Gamma distribution is.poisson Check if a data fits a Normal or LogNormal or Uniform or Poisson or Gamma distribution is.uniform Check if a data fits a Normal or LogNormal or Uniform or Poisson or Gamma distribution is.weibull Check if a data fits a Normal or LogNormal or Uniform or Poisson or Gamma distribution libraryAll Load specific R libraries and clear environment list_push Add elements to a list like array_push in PHP list_shuffle Shuffle a list object just like shuffle in PHP minus Decrease vector by value mix.color Mix or Blend two or more colors mix.cols.btw Mix or Blend colors between two or more colors multiply Multiple a vector of numeric values newSuperVar Create and use a super variable with unique capabilities not.data Not a data not.duplicated Not duplicated elements not.empty Not empty not.environment Not an environment not.exists Not exists not.image File name extension(s) is Not an image not.integer Not an integer not.logical Not logical not.na Not NA not.null Not NULL not.numeric Not numeric not.vector Not a vector number Generate a random number (integer) pairDist Calculate the distance of points from the center of a cluster plus Increment vector by value randString Generate a random string rcolorconst R Color Constant rDecomPkg Check whether an R package has been decommissioned in CRAN read.csv.print Read a CSV and preview first X rows and columns read.table.print Read in a table and show first X rows and columns refresh Clear environment, clear console, set work directory and load files sample_by_column Re-sample a dataset by column and return number of entry needed setOnce Set a variable only once sim.logistic Generate logistic random values strsplit.bool Split a string of values and return as boolean vector strsplit.num Split a string of numbers and return as numeric vector summarize.envobj Get all the environment objects and their sizes vector_pop Remove last n elements or specified elements from a vector like array_pop in PHP vector_push Add elements to a vector like array_push in PHP vector_shuffle Shuffle a vector just like shuffle in PHP yesNoBool Convert Yes/No to Binary or Logical ``` ## Let me show you a few R Examples *** ``` #initialize one or more variables print(g) # Error: object 'g' not found init(g,h,i,o) print(g) # g = NULL print(h) # h = NULL init(r,y,u,b,value = 5) print(r) # r = 5 print(b) # b = 5 print(z) # Error: object 'z' not found ``` *** ``` #add keys to a vector content for use in downstream processes ver1 <- c("Test 1","Test 2","Test 3") add_key(ver1) for(i in ver1){ message(sprintf("%s is the key for this %s", i$key, i$value)) } ``` *** ``` #check if the entry is not integer not.integer(45) #returns TRUE not.integer(45.) #returns TRUE not.integer(45L) #returns FALSE not.null(45L) #returns TRUE not.null(h<-NULL) #returns FALSE ``` *** ``` #clear R environment, set directory and load data #note: the code below also automatically loads the quickcode library so that all other functions within package can be used easily quickcode::refresh() quickcode::clean() #or combine with setwd and source and load quickcode::clean( setwd = "/wd/", source = c( "file.R", "file2.R" ), load = c( "data.RData", "data2.RData" ) ) ``` *** ``` #shorthand for not in vector p1 <- 4 p2 <- c(1:10) p1 %nin% p2 ``` *** ``` #add to a vector in one code p1 <- c(6,7,8) p2 <- c(1,2,3) vector_push(p1,p2) print(p1) ``` *** ``` #add to a data frame in one code p1 <- data.frame(ID=1:10,ID2=1:10) p2 <- data.frame(ID=11:20,ID2=21:30) data_push(p1,p2,"rows") print(p1) ``` *** ``` #remove from a vector in one code p1 <- c(6,7,8,1,2,3) vector_pop(p1) print(p1) ``` *** ``` #remove from a data frame in one code p1 <- data.frame(ID=1:10,ID2=1:10,CD=11:20,BD=21:30) data_pop(p1) #remove last row print(p1) data_pop(p1,5) #remove last 5 rows print(p1) ``` *** ``` #remove columns from a data frame in one code p1 <- data.frame(ID=1:10,ID2=1:10,ID4=1:10,CD=11:20,BD=21:30) data_pop(p1,which = "cols") #remove last column print(p1) data_pop(p1,2,which = "cols") #remove last 2 columns print(p1) data_pop(p1,1,which = "cols") #remove last 1 column and vectorise print(p1) ``` *** ``` #load libraries quickcode::libraryAll( dplyr, r2resize, ggplot2 ) ``` *** ``` ``` Check out some examples at quickcode.obi.obianom.com