LoginSignup
4
4

More than 3 years have passed since last update.

製薬企業研究者がRにおける関数についてまとめてみた

Last updated at Posted at 2019-12-08

はじめに

ここでは、R初心者向けに「関数」の基本について解説していきます。

関数の作成

関数を作成するときは、functionを使います。
返り値はreturnで書きます。

function_1.R
hello <- function(){
  return ("Hello, R!")
}

average <- function(a, b){
  return ((a + b) / length(c(a, b)))
}

関数の利用

関数を作成したら、実行したい箇所で関数名を呼び出します。
関数を作成しただけで実行されるわけではありません。

function_2.R
print(hello())

print(average(1, 3))

変数のスコープ

関数内で定義した変数(ローカル変数)は、関数外では同じオブジェクトとして使うことはできません。
関数外で定義した変数(グローバル変数)は、関数内で使うことはできますが、関数内での変更を反映させたい場合は、グローバル変数であることを関数の定義時に明示する必要があります。

function_3.R
addone <- function(n){
  a <- 1
  return (n + a)
}

print(addone(2))
print(a) # エラーになる。
function_4.R
a <- 1

addone <- function(n){
  return (n + a)
}

print(addone(2))
print(a) # エラーにならない。
function_5.R
a <- 5

addone <- function(n){
  a <- 1
  return (n + a)
}

print(addone(2))
print(a)
function_6.R
a <- 5

addone <- function(n){
  a <<- 1
  return (n + a)
}

print(addone(2))
print(a)
function_7.R
a <- 5

addone <- function(n){
  a <- 1
  a <<- 7
  return (n + a)
}

print(addone(2))
print(a)

まとめ

ここでは、Rにおける「関数」の基本について解説しました。
特に、変数のスコープについては注意が必要です。

参考資料・リンク

プログラミング言語Rとは?統計分析に強い?

4
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4