---
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 <u>quickcode.obi.obianom.com</u>
