# 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

#### Obinna (OBI) Obianom, Brice Richard

#### 2026-04-04

### 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