R言語での「mean」と「max」のみが無限大となる理由


R言語において、「mean」関数と「max」関数は特定の条件下で無限大を返すことがあります。これは、データに欠損値(NA値)が含まれている場合に起こります。欠損値は、データの一部が不明な場合や測定不能な場合に使用される特殊な値です。

「mean」関数は、デフォルトでは欠損値を除外して平均を計算します。つまり、データに欠損値が含まれている場合、それらの値を無視して平均を計算します。しかし、データ全体が欠損値の場合、計算結果は無限大(Inf)となります。

同様に、「max」関数もデフォルトでは欠損値を無視して最大値を計算します。データに欠損値が含まれている場合、それらの値を無視して最大値を求めます。しかし、データ全体が欠損値の場合、結果は無限大となります。

以下に、具体的なコード例を示します。

# データに欠損値を含む場合
data_with_na <- c(1, 2, NA, 4, 5)
mean(data_with_na)  # 結果: [1] NA
max(data_with_na)   # 結果: [1] NA
# データ全体が欠損値の場合
all_na <- c(NA, NA, NA)
mean(all_na)  # 結果: [1] NaN
max(all_na)   # 結果: [1] -Inf

上記の例では、data_with_naというデータに欠損値が含まれているため、mean関数とmax関数の結果は欠損値(NA)となります。また、all_naというデータは全て欠損値で構成されているため、mean関数の結果はNaN(Not a Number)となり、max関数の結果は負の無限大(-Inf)となります。

したがって、R言語において「mean」と「max」が無限大となるのは、データに欠損値が含まれているか、データ全体が欠損値で構成されている場合です。