R で na.rm を使用する方法 (例あり)


na.rm=TRUE引数を使用すると、R で記述統計を計算するときに欠損値を除外できます。

 #calculate mean and exclude missing values
mean(x, na. rm = TRUE )

#calculate sum and exclude missing values 
sum(x, na. rm = TRUE )

#calculate maximum and exclude missing values 
max(x, na. rm = TRUE )

#calculate standard deviation and exclude missing values 
sd(x, na. rm = TRUE )

次の例は、実際にベクトルとデータ フレームでこの引数を使用する方法を示しています。

例 1: ベクトルで na.rm を使用する

欠損値を含む次の R ベクトルの平均、合計、最大、標準偏差を計算しようとしているとします。

 #define vector with some missing values
x <- c(3, 4, 5, 5, 7, NA, 12, NA, 16)

mean(x)

[1] NA

sum(x)

[1] NA

max(x)

[1] NA

sd(x)

[1] NA

これらの各関数はNAの値を返します。

これらの計算を実行するときに欠損値を除外するには、次のように引数na.rm = TRUEを含めるだけです。

 #define vector with some missing values
x <- c(3, 4, 5, 5, 7, NA, 12, NA, 16)

mean(x, na. rm = TRUE )

[1] 7.428571

sum(x, na. rm = TRUE )

[1] 52

max(x, na. rm = TRUE )

[1] 16

sd(x, na. rm = TRUE )

[1] 4.790864

欠損値を除外しながら、それぞれの計算を正常に実行できたことに注目してください。

例 2: データ フレームで na.rm を使用する

R に欠損値を含む次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, NA, 3, 2),
                 var3=c(3, 3, NA, 6, 8),
                 var4=c(1, 1, 2, 8, NA))

#view data frame
df

  var1 var2 var3 var4
1 1 7 3 1
2 3 7 3 1
3 3 NA NA 2
4 4 3 6 8
5 5 2 8 NA

apply()関数を使用してデータ フレーム内の各列の記述統計を計算し、引数na.rm = TRUEを使用してこれらの計算を実行するときに欠損値を除外できます。

 #calculate mean of each column
apply(df, 2, mean, na. rm = TRUE )

var1 var2 var3 var4 
3.20 4.75 5.00 3.00 

#calculate sum of each column
apply(df, 2, sum, na. rm = TRUE )

var1 var2 var3 var4 
  16 19 20 12 

#calculate max of each column
apply(df, 2, max, na. rm = TRUE )

var1 var2 var3 var4 
   5 7 8 8 

#calculate standard deviation of each column
apply(df, 2, sd, na. rm = TRUE )

    var1 var2 var3 var4 
1.483240 2.629956 2.449490 3.366502

ここでも、欠損値を除外しながら各計算を正常に完了することができました。

追加リソース

次のチュートリアルでは、R で欠損値を使用して他の一般的なタスクを実行する方法について説明します。

Rでis.nullを使用する方法
Rでna.omitを使用する方法
R での is.na の使用方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です