[1062BPY12001] Data analysis with R / April 26

10 pages
0 downs
0 views

Extension: PDF

Please download to get full document.

View again

of 10
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Share
Description
1. R 語⾔言與資料分析 functions 2. Control Structures: if x <- 2 if (x %% 2 == 0) { print(“divisible by 2 ) } else if (x %% 3 == 0) {…
Transcript
  • 1. R 語⾔言與資料分析 functions
  • 2. Control Structures: if x <- 2 if (x %% 2 == 0) { print(“divisible by 2") } else if (x %% 3 == 0) { print("divisible by 3") } else print(“not divisible by 2 nor by 3") Output [1] "divisible by 2" x <- 3 if (x %% 2 == 0) { print(“divisible by 2") } else if (x %% 3 == 0) { print("divisible by 3") } else print(“not divisible by 2 nor by 3") Output [1] "divisible by 3" x <- 6 if (x %% 2 == 0) { print(“divisible by 2") } else if (x %% 3 == 0) { print("divisible by 3") } else print(“not divisible by 2 nor by 3") Output [1] "divisible by 2"
  • 3. 3 The“...”Argument The ... argument is also necessary when the number of arguments passed to the function cannot be known in advance. > args(paste) function (..., sep = " ", collapse = NULL) > args(cat) function (..., file = "", sep = " ", fill = FALSE, labels = NULL, append = FALSE)
  • 4. FunctionArguments Functions have named arguments which potentially have default values. · The formal arguments are the arguments included in the function definition · The formals function returns a list of all the formal arguments of a function · Not every function call in R makes use of all the formal arguments · Function arguments can be missing or might have default values > ?sd > ?rnorm > ?matrix > ?sample x a numeric vector or an R object which is coercible to one by as.double(x). na.rm logical. Should missing values be removed? Description This function computes the standard deviation of the values in x. If na.rm is TRUE then missing values are removed before computation proceeds. Usage sd(x, na.rm = FALSE) Arguments
  • 5. 求助範例 (conti.) 說明 語法 參數 回傳值 範例
  • 6. 6 Functions Functions are created using the function() directive and are stored as R objects just like anything else. In particular, they are R objects of class “function”. my.function <- function(<arguments>) { ## body } add <- function(x, y = 1) { x + y } > formals(add) # formal arguments $x $y [1] 1 > body(add) { x + y } > environment(add) <environment: R_GlobalEnv>
  • 7. 7 LazyEvaluation Arguments to functions are evaluated lazily, so they are evaluated only as needed. This function never actually uses the argument b, so calling f(2) will not produce an error because the 2 gets positionally matched to a. f <- function(a, b) { a^2 } f(2) ## [1] 4 In addition to not specifying a default value, you can also set an argument value to NULL. f <- function(a, b = 1, c = 2, d = NULL) { }
  • 8. 8 The“...”Argument The ... argument indicate a variable number of arguments that are usually passed on to other functions. · ... is often used when extending another function and you don’t want to copy the entire argument list of the original function myplot <- function(x, y, type = "l", ...) { plot(x, y, type = type, ...) } · Generic functions use ... so that extra arguments can be passed to methods (more on this later). > mean function (x, ...) UseMethod("mean")
  • 9. 9 The“...”Argument The ... argument is also necessary when the number of arguments passed to the function cannot be known in advance. > args(paste) function (..., sep = " ", collapse = NULL) > args(cat) function (..., file = "", sep = " ", fill = FALSE, labels = NULL, append = FALSE)
  • 10. 10 The“...”Argument The ... argument is also necessary when the number of arguments passed to the function cannot be known in advance. > args(paste) function (..., sep = " ", collapse = NULL) > args(cat) function (..., file = "", sep = " ", fill = FALSE, labels = NULL, append = FALSE)
  • Related Search
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks