Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Variable names passed to subset are quoted
# dat <- mtcars[1:10 , c("mpg", "cyl", "disp")]
#
# # View results
# dat
# mpg cyl disp
# Mazda RX4 21.0 6 160.0
# Mazda RX4 Wag 21.0 6 160.0
# Datsun 710 22.8 4 108.0
# Hornet 4 Drive 21.4 6 258.0
# Hornet Sportabout 18.7 8 360.0
# Valiant 18.1 6 225.0
# Duster 360 14.3 8 360.0
# Merc 240D 24.4 4 146.7
# Merc 230 22.8 4 140.8
# Merc 280 19.2 6 167.6
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # No quotes on "cyl" using subset() function
# dt <- subset(dat, cyl == 4)
#
# # View results
# dt
# # mpg cyl disp
# # Datsun 710 22.8 4 108.0
# # Merc 240D 24.4 4 146.7
# # Merc 230 22.8 4 140.8
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Create a vector of unquoted names
# v1 <- v(mpg, cyl, disp)
#
# # Result is a quoted vector
# v1
# # [1] "mpg" "cyl" "disp"
#
# # Variable names not quoted
# dat2 <- mtcars[1:10, v(mpg, cyl, disp)]
#
# # Works as expected
# dat2
# # mpg cyl disp
# # Mazda RX4 21.0 6 160.0
# # Mazda RX4 Wag 21.0 6 160.0
# # Datsun 710 22.8 4 108.0
# # Hornet 4 Drive 21.4 6 258.0
# # Hornet Sportabout 18.7 8 360.0
# # Valiant 18.1 6 225.0
# # Duster 360 14.3 8 360.0
# # Merc 240D 24.4 4 146.7
# # Merc 230 22.8 4 140.8
# # Merc 280 19.2 6 167.6
#
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Prepare data
# dat <- mtcars[1:10, 1:3]
#
# # Get sort order
# ord <- do.call('order', dat[ ,c("cyl", "mpg")])
#
# # Sort data
# dat[ord, ]
# # mpg cyl disp
# # Datsun 710 22.8 4 108.0
# # Merc 230 22.8 4 140.8
# # Merc 240D 24.4 4 146.7
# # Valiant 18.1 6 225.0
# # Merc 280 19.2 6 167.6
# # Mazda RX4 21.0 6 160.0
# # Mazda RX4 Wag 21.0 6 160.0
# # Hornet 4 Drive 21.4 6 258.0
# # Duster 360 14.3 8 360.0
# # Hornet Sportabout 18.7 8 360.0
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Sort by cyl then mpg
# dat1 <- sort(dat, by = v(cyl, mpg))
# dat1
# # mpg cyl disp
# # Datsun 710 22.8 4 108.0
# # Merc 230 22.8 4 140.8
# # Merc 240D 24.4 4 146.7
# # Valiant 18.1 6 225.0
# # Merc 280 19.2 6 167.6
# # Mazda RX4 21.0 6 160.0
# # Mazda RX4 Wag 21.0 6 160.0
# # Hornet 4 Drive 21.4 6 258.0
# # Duster 360 14.3 8 360.0
# # Hornet Sportabout 18.7 8 360.0
#
# # Sort by cyl descending then mpg ascending
# dat2 <- sort(dat, by = v(cyl, mpg),
# ascending = c(FALSE, TRUE))
# dat2
# # mpg cyl disp
# # Duster 360 14.3 8 360.0
# # Hornet Sportabout 18.7 8 360.0
# # Valiant 18.1 6 225.0
# # Merc 280 19.2 6 167.6
# # Mazda RX4 21.0 6 160.0
# # Mazda RX4 Wag 21.0 6 160.0
# # Hornet 4 Drive 21.4 6 258.0
# # Datsun 710 22.8 4 108.0
# # Merc 230 22.8 4 140.8
# # Merc 240D 24.4 4 146.7
#
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Prepare data
# dat <- mtcars[1:10, 1:3]
#
# # Assign labels
# attr(dat$mpg, "label") <- "Miles Per Gallon"
# attr(dat$cyl, "label") <- "Cylinders"
# attr(dat$disp, "label") <- "Displacement"
#
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Prepare data
# dat <- mtcars[1:10, 1:3]
#
# # Assign labels
# labels(dat) <- list(mpg = "Miles Per Gallon",
# cyl = "Cylinders",
# disp = "Displacement")
#
# # View label attributes
# labels(dat)
# # $mpg
# # [1] "Miles Per Gallon"
# #
# # $cyl
# # [1] "Cylinders"
# #
# # $disp
# # [1] "Displacement"
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Concatenation using paste0() function
# paste0("There are ", nrow(mtcars), " rows in the mtcars data frame")
# # [1] "There are 32 rows in the mtcars data frame"
#
# # Concatenation using %p% operator
# "There are " %p% nrow(mtcars) %p% " rows in the mtcars data frame"
# # [1] "There are 32 rows in the mtcars data frame"
#
## ----eval=FALSE, echo=TRUE----------------------------------------------------
#
# # Comparing of NULLs and NA
# NULL %eq% NULL # TRUE
# NULL %eq% NA # FALSE
# NA %eq% NA # TRUE
# 1 %eq% NULL # FALSE
# 1 %eq% NA # FALSE
#
# # Comparing of atomic values
# 1 %eq% 1 # TRUE
# "one" %eq% "one" # TRUE
# 1 %eq% "one" # FALSE
# 1 %eq% Sys.Date() # FALSE
#
# # Comparing of vectors
# v1 <- c("A", "B", "C")
# v2 <- c("A", "B", "C", "D")
# v1 %eq% v1 # TRUE
# v1 %eq% v2 # FALSE
#
# # Comparing of data frames
# mtcars %eq% mtcars # TRUE
# mtcars %eq% iris # FALSE
# iris %eq% iris[1:50,] # FALSE
#
# # Mixing it up
# mtcars %eq% NULL # FALSE
# v1 %eq% NA # FALSE
# 1 %eq% v1 # FALSE
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Get current path
# pth <- Sys.path()
#
# # View path
# pth
# # [1] "C:/packages/common/vignettes/common.Rmd"
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Prepare sample vector
# v1 <- seq(0.5,9.5,by=1)
# v1
# # [1] 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5
#
# # Base R round function
# r1 <- round(v1)
#
# # Rounds to nearest even
# r1
# # [1] 0 2 2 4 4 6 6 8 8 10
#
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Round up function
# r2 <- roundup(v1)
#
# # Rounds 5 up
# r2
# # [1] 1 2 3 4 5 6 7 8 9 10
#
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Negate original vector
# v2 <- -v1
# v2
# # [1] -0.5 -1.5 -2.5 -3.5 -4.5 -5.5 -6.5 -7.5 -8.5 -9.5
#
# # Rounding negative values
# r3 <- roundup(v2)
#
# # Rounds away from zero
# r3
# # [1] -1 -2 -3 -4 -5 -6 -7 -8 -9 -10
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Look for a file named "globals.R"
# pths <- file.find(getwd(), "globals.R")
# pths
#
# # Look for Rdata files three levels up, and two levels down
# pths <- file.find(getwd(), "*.Rdata", up = 3, down = 2)
# pths
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Prepare data
# dat <- mtcars
#
# # View names
# names(dat)
# # [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear" "carb"
#
# # Get all names starting with "c"
# find.names(dat, pattern = "c*")
# # [1] "cyl" "carb"
#
# # Get all names starting with "c" or "d"
# find.names(dat, pattern = c("c*", "d*"))
# # [1] "cyl" "carb" "disp" "drat"
#
# # Get names starting with "c" or "d" from column 4 on
# find.names(dat, pattern = c("c*", "d*"), start = 4)
# # [1] "carb" "drat"
#
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Prepare sample dataset
# dat <- mtcars[ , 1:3]
#
# # Assign some labels
# labels(dat) <- list(mpg = "Miles Per Gallon",
# cyl = "Cylinders",
# disp = "Displacement")
#
# # View labels
# labels(dat)
# # $mpg
# # [1] "Miles Per Gallon"
# #
# # $cyl
# # [1] "Cylinders"
# #
# # $disp
# # [1] "Displacement"
#
# # Subset the data
# dat2 <- subset(dat, cyl == 4)
#
# # Labels are gone!
# labels(dat2)
# # list()
#
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Restore attributes
# dat2 <- copy.attributes(dat, dat2)
#
# # Labels are back!
# labels(dat2)
# # $mpg
# # [1] "Miles Per Gallon"
# #
# # $cyl
# # [1] "Cylinders"
# #
# # $disp
# # [1] "Displacement"
#
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Separate two strings by 25 spaces
# str <- paste0("Left", paste0(rep(" ", 25), collapse = ""), "Right", collapse = "")
# str
# # [1] "Left Right"
#
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Separate two strings by 25 spaces
# str <- "Left" %p% spaces(25) %p% "Right"
# str
# # [1] "Left Right"
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Create sample vector
# v1 <- c(1, 1, 1, 2, 2, 3, 3, 3, 1, 1)
#
# # Identify duplicated values
# res1 <- !duplicated(v1)
#
# # View duplicated results
# res1
# # [1] TRUE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE
#
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Identify changed values
# res2 <- changed(v1)
#
# # View changed results
# res2
# # [1] TRUE FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE
#
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Create sample data frame
# v2 <- c("A", "A", "A", "A", "A", "A", "B", "B", "B", "B")
# dat <- data.frame(v1, v2)
#
# # View original data frame
# dat
# # v1 v2
# # 1 1 A
# # 2 1 A
# # 3 1 A
# # 4 2 A
# # 5 2 A
# # 6 3 A
# # 7 3 B
# # 8 3 B
# # 9 1 B
# # 10 1 B
#
# # Get changed values for each column
# res3 <- changed(dat)
#
# # View results
# res3
# # v1.changed v2.changed
# # 1 TRUE TRUE
# # 2 FALSE FALSE
# # 3 FALSE FALSE
# # 4 TRUE FALSE
# # 5 FALSE FALSE
# # 6 TRUE FALSE
# # 7 FALSE TRUE
# # 8 FALSE FALSE
# # 9 TRUE FALSE
# # 10 FALSE FALSE
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Get changed values for each column
# res4 <- changed(dat, simplify = TRUE)
#
# # View results
# res4
# # [1] TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE TRUE FALSE
## ----eval=FALSE, echo=TRUE----------------------------------------------------
# # Find last items in each group
# res3 <- changed(dat, reverse = TRUE)
#
# # View results
# res3
# # v1.changed v2.changed
# # 1 FALSE FALSE
# # 2 FALSE FALSE
# # 3 TRUE FALSE
# # 4 FALSE FALSE
# # 5 TRUE FALSE
# # 6 FALSE TRUE
# # 7 FALSE FALSE
# # 8 TRUE FALSE
# # 9 FALSE FALSE
# # 10 TRUE TRUE
#
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.