Intermediate Algebra Chapter 9 Exponential and Logarithmic Functions.
Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list()...
Transcript of Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list()...
![Page 1: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/1.jpg)
INTERMEDIATE R
Functions
![Page 2: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/2.jpg)
Intermediate R
Functions● You already know 'em!
● Create a list: list()
● Display a variable: print()
![Page 3: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/3.jpg)
Intermediate R
Black box principle
INPUT OUTPUTPROCESSING
![Page 4: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/4.jpg)
Intermediate R
Black box principle
INPUT OUTPUTBLACK BOX
c(1, 5, 6, 7) 2.629956sd()
![Page 5: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/5.jpg)
Intermediate R
Call function in R> sd(c(1, 5, 6, 7)) [1] 2.629956
> values <- c(1, 5, 6, 7)
> sd(values) [1] 2.629956
> my_sd <- sd(values)
> my_sd [1] 2.629956
c(1, 5, 6, 7) 2.629956sd()
![Page 6: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/6.jpg)
Intermediate R
Function documentation> help(sd)
> ?sd
sd(x, na.rm = FALSE) !
![Page 7: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/7.jpg)
Intermediate R
Questions
● Argument names: x, na.rm
● na.rm = FALSE
● sd(values) works?
sd(x, na.rm = FALSE) !
![Page 8: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/8.jpg)
Intermediate R
Argument matching
● By position
●
● By name
> sd(values)
x in first position
values in first position
> sd(x = values) explicitly assign values to x
R assigns values to x
sd(x, na.rm = FALSE) !
![Page 9: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/9.jpg)
Intermediate R
> values <- c(1, 5, 6, NA)
> sd(values) [1] NA
> sd(values, TRUE) [1] 2.645751
> sd(values, na.rm = TRUE) [1] 2.645751
na.rm argumentna.rm: logical. Should missing values be removed?
sd(x, na.rm = FALSE) !
na.rm is FALSE by defaultMatching by position
by position by name
![Page 10: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/10.jpg)
Intermediate R
sd(values) works?> values <- c(1, 5, 6, 7)
> sd(values) [1] 2.629956
> sd() Error in is.data.frame(x) : argument "x" is missing, with no default
sd(x, na.rm = FALSE) !x has no defaultna.rm is FALSE by default
![Page 11: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/11.jpg)
Intermediate R
Useful trick> args(sd) function (x, na.rm = FALSE) NULL
![Page 12: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/12.jpg)
Intermediate R
Wrap-up● Functions work like a black box
● Argument matching: by position or by name
● Function arguments can have defaults
![Page 13: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/13.jpg)
INTERMEDIATE R
Let’s practice!
![Page 14: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/14.jpg)
INTERMEDIATE R
Writing Functions
![Page 15: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/15.jpg)
Intermediate R
When write your own?● Solve a particular, well-defined problem
● Black box principle
● If it works, inner workings less important
![Page 16: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/16.jpg)
Intermediate R
The triple() function
in outtriple()
![Page 17: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/17.jpg)
Intermediate R
The triple() function in outtriple()
my_fun <- function(arg1, arg2) { body }
!
![Page 18: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/18.jpg)
Intermediate R
The triple() functiontriple <- function(arg1, arg2) { body }
in outtriple()
![Page 19: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/19.jpg)
Intermediate R
The triple() functiontriple <- function(x) { body }
in outtriple()
![Page 20: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/20.jpg)
Intermediate R
The triple() functiontriple <- function(x) { 3 * x }
in outtriple()
![Page 21: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/21.jpg)
Intermediate R
The triple() function> triple <- function(x) { 3 * x }
> ls() [1] "triple"
> triple(6) Numeric 6 matched to argument x (by pos) Function body is executed: 3 * 6 Last expression = return value[1] 18
![Page 22: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/22.jpg)
Intermediate R
return()> triple <- function(x) { y <- 3 * x return(y) }
> triple(6) [1] 18
![Page 23: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/23.jpg)
Intermediate R
The math_magic() function
4*2 + 4/2 = 10math_magic()4
2
![Page 24: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/24.jpg)
Intermediate R
The math_magic() functionmy_fun <- function(arg1, arg2) { body }
!
![Page 25: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/25.jpg)
Intermediate R
The math_magic() functionmath_magic <- function(arg1, arg2) { body }
![Page 26: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/26.jpg)
Intermediate R
The math_magic() functionmath_magic <- function(a, b) { body }
![Page 27: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/27.jpg)
Intermediate R
The math_magic() functionmath_magic <- function(a, b) { a*b + a/b }
> math_magic(4, 2) [1] 10
> math_magic(4) Error in math_magic(4) : argument "b" is missing, with no default
![Page 28: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/28.jpg)
Intermediate R
Optional argumentmath_magic <- function(a, b = 1) { a*b + a/b }
> math_magic(4) [1] 8
> math_magic(4, 0) [1] Inf
![Page 29: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/29.jpg)
Intermediate R
Use return()math_magic <- function(a, b = 1) {
a*b + a/b }
> math_magic(4, 0) [1] 0
not reached if b is 0
return 0 and exit function if(b == 0) { return(0) }
![Page 30: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/30.jpg)
INTERMEDIATE R
Let’s practice!
![Page 31: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/31.jpg)
INTERMEDIATE R
R Packages
![Page 32: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/32.jpg)
Intermediate R
R Packages● Where do mean(), list() and sample() come from?
● Part of R packages
● Code, data, documentation and tests
● Easy to share
● Examples: base, ggvis
![Page 33: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/33.jpg)
Intermediate R
Install packages● base package: automatically installed
● ggvis package: not installed yet
● CRAN: Comprehensive R Archive Network
> install.packages("ggvis")
![Page 34: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/34.jpg)
Intermediate R
Load packages● load package = a!ach to search list
● 7 packages are a!ached by default
● ggvis not a!ached by default
> search() [1] ".GlobalEnv" ... "Autoloads" "package:base"
> ggvis(mtcars, ~wt, ~hp) Error: could not find function "ggvis"
![Page 35: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/35.jpg)
Intermediate R
Load packages: library()> library("ggvis")
> search() [1] ".GlobalEnv" "package:ggvis" ... "package:base"
> ggvis(mtcars, ~wt, ~hp)
![Page 36: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/36.jpg)
Intermediate R
Load packages: require()> library("data.table") Error in library("data.table") : there is no package called ‘data.table’
> require("data.table") Loading required package: data.table Warning message: ...
> result <- require("data.table") Loading required package: data.table Warning message: ...
> result [1] FALSE
![Page 37: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/37.jpg)
Intermediate R
Wrap-up● Install packages: install.packages()
● Load packages: library(), require()
● Load package = a!ach package to search list
● Google for cool R packages!
![Page 38: Functions - Amazon S3 · Intermediate R Functions You already know 'em! Create a list: list() Display a variable: print()](https://reader031.fdocuments.in/reader031/viewer/2022041117/5f2b388cd5a37814d84f702d/html5/thumbnails/38.jpg)
INTERMEDIATE R
Let’s practice!