R-関数

関数は、特定のタスクを実行するために一緒に編成されたステートメントのセットです。Rには多数の関数が組み込まれており、ユーザーは独自の関数を作成できます。

Rでは、関数はオブジェクトであるため、Rインタープリターは、関数がアクションを実行するために必要な引数とともに、関数に制御を渡すことができます。

次に、関数はそのタスクを実行し、他のオブジェクトに格納される可能性のある結果だけでなく、インタプリタに制御を返します。

関数定義

R関数はキーワードを使用して作成されます function。R関数定義の基本的な構文は次のとおりです。

function_name <- function(arg_1, arg_2, ...) {
   Function body 
}

機能コンポーネント

関数のさまざまな部分は次のとおりです。

  • Function Name−これは関数の実際の名前です。この名前のオブジェクトとしてR環境に保存されます。

  • Arguments−引数はプレースホルダーです。関数が呼び出されると、引数に値を渡します。引数はオプションです。つまり、関数に引数を含めることはできません。また、引数にはデフォルト値を設定できます。

  • Function Body −関数本体には、関数の機能を定義するステートメントのコレクションが含まれています。

  • Return Value −関数の戻り値は、評価される関数本体の最後の式です。

Rにはたくさんあります in-built最初に定義せずにプログラムで直接呼び出すことができる関数。と呼ばれる独自の関数を作成して使用することもできますuser defined 関数。

内蔵機能

組み込み関数の簡単な例は次のとおりです。 seq()mean()max()sum(x) そして paste(...)など。ユーザーが作成したプログラムによって直接呼び出されます。最も広く使用されているR関数を参照できます。

# Create a sequence of numbers from 32 to 44.
print(seq(32,44))

# Find mean of numbers from 25 to 82.
print(mean(25:82))

# Find sum of numbers frm 41 to 68.
print(sum(41:68))

上記のコードを実行すると、次の結果が生成されます-

[1] 32 33 34 35 36 37 38 39 40 41 42 43 44
[1] 53.5
[1] 1526

ユーザー定義関数

Rでユーザー定義関数を作成できます。これらはユーザーが望むものに固有であり、一度作成すると、組み込み関数のように使用できます。以下は、関数がどのように作成および使用されるかの例です。

# Create a function to print squares of numbers in sequence.
new.function <- function(a) {
   for(i in 1:a) {
      b <- i^2
      print(b)
   }
}

関数の呼び出し

# Create a function to print squares of numbers in sequence.
new.function <- function(a) {
   for(i in 1:a) {
      b <- i^2
      print(b)
   }
}

# Call the function new.function supplying 6 as an argument.
new.function(6)

上記のコードを実行すると、次の結果が生成されます-

[1] 1
[1] 4
[1] 9
[1] 16
[1] 25
[1] 36

引数なしで関数を呼び出す

# Create a function without an argument.
new.function <- function() {
   for(i in 1:5) {
      print(i^2)
   }
}	

# Call the function without supplying an argument.
new.function()

上記のコードを実行すると、次の結果が生成されます-

[1] 1
[1] 4
[1] 9
[1] 16
[1] 25

引数値を使用した関数の呼び出し(位置および名前による)

関数呼び出しへの引数は、関数で定義されているのと同じ順序で指定することも、異なる順序で指定して引数の名前に割り当てることもできます。

# Create a function with arguments.
new.function <- function(a,b,c) {
   result <- a * b + c
   print(result)
}

# Call the function by position of arguments.
new.function(5,3,11)

# Call the function by names of the arguments.
new.function(a = 11, b = 5, c = 3)

上記のコードを実行すると、次の結果が生成されます-

[1] 26
[1] 58

デフォルトの引数を使用して関数を呼び出す

関数定義で引数の値を定義し、引数を指定せずに関数を呼び出して、デフォルトの結果を取得できます。ただし、引数の新しい値を指定してこのような関数を呼び出し、デフォルト以外の結果を取得することもできます。

# Create a function with arguments.
new.function <- function(a = 3, b = 6) {
   result <- a * b
   print(result)
}

# Call the function without giving any argument.
new.function()

# Call the function with giving new values of the argument.
new.function(9,5)

上記のコードを実行すると、次の結果が生成されます-

[1] 18
[1] 45

機能の遅延評価

関数への引数は遅延評価されます。つまり、関数本体で必要な場合にのみ評価されます。

# Create a function with arguments.
new.function <- function(a, b) {
   print(a^2)
   print(a)
   print(b)
}

# Evaluate the function without supplying one of the arguments.
new.function(6)

上記のコードを実行すると、次の結果が生成されます-

[1] 36
[1] 6
Error in print(b) : argument "b" is missing, with no default