NOT functions, genRandImg, vector_shuffle, data_pop, and init function amongst many great new functions in the quickcode R package

Obinna (OBI) Obianom

2024-04-06

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