関数の定義を確認する

確認したい関数の()を除外してコマンドする。

read.csv
## function (file, header = TRUE, sep = ",", quote = "\"", dec = ".",
##     fill = TRUE, comment.char = "", ...)
## read.table(file = file, header = header, sep = sep, quote = quote,
##     dec = dec, fill = fill, comment.char = comment.char, ...)
## <bytecode: 0x7fdcdbfaa630>
## <environment: namespace:utils>

関数を定義する

基本形

hello <- function(name){
  mess <- paste0("hello ", name)
  return(mess)
}

hello("hogehoge")
## [1] "hello hogehoge"
  • return() : 関数の返り値を明示する(省略可能)
  • {} : 関数の中身が複数行ある場合{}で囲む(1行の場合は省略可能)

省略形

hello <- function(name) paste0("hello ", name)
hello("hogehoge")
## [1] "hello hogehoge"

引数の初期値を設定する

hello <- function(name = "hogehoge") paste0("hello ", name)

hello()  # 初期値をそのまま使う場合は、省略できる
## [1] "hello hogehoge"
hello(name = "Mike")
## [1] "hello Mike"

複数の値を返す(返り値のデータ型が同じ)

mean_sum <- function(x) c(mean(x), sum(x))  # 返り値のデータ型が同じならベクトルを返せば良い

x <- 1:10
mean_sum(x)
## [1]  5.5 55.0

複数の値を返す(返り値のデータ型が異なる)

mean_hogehoge <- function(x){
  list(  # 返り値のデータ型が異なるならリストを返せば良い
    mean(x),
    paste0("hogehoge", x)
  )
}

x <- 1:5
mean_hogehoge(x)
## [[1]]
## [1] 3
##
## [[2]]
## [1] "hogehoge1" "hogehoge2" "hogehoge3" "hogehoge4" "hogehoge5"

「データから価値を創造する」一般社団法人データマーケティングラボラトリー

Copyright© DML All Rights Reserved.