30  関数(ヘルプファイルの読み方2)(L34)

実際に、実行してみましょう

A Pass a vector to sum, and it will add the elements together.

sum(1:5)
[1] 15

B Pass several numbers to sum, and it also adds the elements.

sum(1, 2, 3, 4, 5)
[1] 15

C In fact, you can pass vectors into several arguments, and everything gets added.

sum(1:2, 3:5)
[1] 15

D If there are missing values, the sum is unknown, i.e., also missing, ….

sum(1:5, NA)
[1] NA

E … unless we exclude missing values explicitly:

sum(1:5, NA, na.rm = TRUE)
[1] 15

ここでA-Eは解説のために私がふったアルファベットです。

まず、Aですが、

1:5
[1] 1 2 3 4 5

という記載は、1から5までの数字ベクトルを表します。

c(1,2,3,4,5)
[1] 1 2 3 4 5

とまったく同じものです。 なので

sum(1:5) #A sum(1,2,3,4,5) #B

は同じ結果になります。

ここで、


Usage: sum(..., na.rm = FALSE)

Arguments:
 # ...   :  numeric or complex or logical vectors.

とある、…の部分が、1個以上のargumentを意味していることが わかります。…と記載があれば、そこには複数のArgumentをいれてよい という意味になりますので、覚えておいてください。

尚、sum関数の場合には、…にいれることができるものは * numeric * complex * logical なベクトルとありますが、とりあえず、ここではnumericだけを考えます。   説明には、vectorを入れることができると書いてあるので、vectorそのものを与えてみましょう


sum(1:5) #A
sum(1,2,3,4,5) #B
sum( c(1,2,3,4,5) )
[1] 15
a <- c(1,2,3,4,5)
sum(a)
[1] 15

すべて同じですね。 例Cが示しているものは、 sum(1:2, 3:5) #C なので、

sum(c(1,2),c(3,4,5))
[1] 15
v1 <- c(1,2)
v2 <- c(3,4,5)
sum(v1,v2)
[1] 15

という風に二つのベクトルの総和をもとめることも可能です。

例Dでは、

sum(1,2,3,4,5,NA)
[1] NA

とベクトルの中に欠損値が含まれている場合NAが返ってくることが示されています。

その場合例Eのように、

sum(1,2,3,4,5,NA, na.rm=TRUE)
[1] 15

na.rm argumentに対してTRUEという値を与えてあげることで欠損値であるNAを無視して和を返すことができるようになります。

TRUEはLogical型(あるいはBoolean型)と呼ばれるもので、また別の動画で解説しますが、

ここでは、

TRUE
[1] TRUE
FALSE
[1] FALSE

のどちらかの値をとるもので真か偽かを表すものという理解で結構です。

このna.rm Argument、


Usage: sum(..., na.rm = FALSE)
Arguments:
 na.rm: logical. Should missing values (including NaN) be removed?

Usageのところで、na.rm=FALSEと初期値が与えられています。

例、A,B,C,Dでna.rmを与えていなくても関数が動いていましたが、このように、Usageのところで初期値が与えられていないargumentがあった場合は、必ず、ご自身の手で入力が必要になりますので注意が必要です。

長い解説にお付き合いください、ありがとうございました。1回の説明では、なかなか全部は理解できないかもしれませんが、ヘルプファイルを呼び出して、Usage、Arguments、Examplesの3つを確認することを知っていると、初めて見る関数を使えるようになるスピードがあがると思いますので、是非、癖付けしてみてください。

それでは、次の動画では、sum以外の関数をつかって他にもいろいろなことができることを紹介しておきます。