欠損値

概要

dplyrパッケージに含まれるcoalesce(), na_if()は、欠損値を操作する関数です。

関連ページ

関数

coalesce(x, y)
na_if(x, y)
引数指定説明
x必須置換する列名を指定する
y必須参照する 列名または値 を指定する

使い方

解説用データフレーム

df <- tibble(
  x1 = c(1, 2, 3, 4, NA),
  x2 = c(5, 4, 3, 2, 1),
)
> df
# A tibble: 5 x 2
     x1    x2
  <dbl> <dbl>
1     1     5
2     2     4
3     3     3
4     4     2
5    NA     1

1.欠損値を置換する

1-1.列指定

# 列x1の欠損値を列x2の値に置換する
mutate(df, y1 = coalesce(x1, x2))
# A tibble: 5 x 3
     x1    x2    y1
  <dbl> <dbl> <dbl>
1     1     5     1
2     2     4     2
3     3     3     3
4     4     2     4
5    NA     1     1

1-2.値指定

# 列x1の欠損値を0に置換する
mutate(df, y1 = coalesce(x1, 0))
# A tibble: 5 x 3
     x1    x2    y1
  <dbl> <dbl> <dbl>
1     1     5     1
2     2     4     2
3     3     3     3
4     4     2     4
5    NA     1     0

2.欠損値に置換する

2-1.列指定

# 列x2と一致する列x1の値を欠損値に置換する
mutate(df, y1 = na_if(x1, x2))
# A tibble: 5 x 3
     x1    x2    y1
  <dbl> <dbl> <dbl>
1     1     5     1
2     2     4     2
3     3     3    NA
4     4     2     4
5    NA     1    NA

2-2.値指定

# 列x1の2を欠損値に置換する
mutate(df, y1 = na_if(x1, 2))
# A tibble: 5 x 3
     x1    x2    y1
  <dbl> <dbl> <dbl>
1     1     5     1
2     2     4    NA
3     3     3     3
4     4     2     4
5    NA     1    NA
Sponsored Link