# 欠損値 NA: Not Available
# 
# ベクトル c(44, NA, 5, NA)を変数x に代入してください。

x <- c(44, NA, 5, NA)

# 次に x を3倍してください。
# 答えは、次の通りです。合っていますか。
# ベクトルの要素にNAがあっても、エラーとならず演算しています。
## [1] 132  NA  15  NA
# 次に、標準正規分布(平均が0、分散が1)の乱数をrnorm( )により発生させます。
# まずは、rnorm( )がどんな数値を生成するか、rnorm(10)とrnom(20)を実行し確認してください。
rnorm(10)
##  [1] -0.5760524  0.2413473 -0.7757820  1.1067921 -0.3828532  0.2109901
##  [7]  1.0342797 -1.0696370  0.5018818  0.3552593
# もう一度。
rnorm(10)
##  [1]  0.68695529 -0.14964597 -0.41850711  0.86449671  0.94616878
##  [6] -0.23231752 -0.08713935  1.76476365 -1.22620130 -0.30573939
# 同じコマンドを実行しても、異なる乱数が発生します。これが乱数です。
# しかし、set.seed()を実行すると、同じ乱数を発生させることができます。
set.seed(111)
rnorm(10)
##  [1]  0.2352207 -0.3307359 -0.3116238 -2.3023457 -0.1708760  0.1402782
##  [7] -1.4974267 -1.0101884 -0.9484756 -0.4939622
rnorm(10)
##  [1] -0.17367413 -0.40659878  1.84563626  0.39405411  0.79752850
##  [6] -1.56666536 -0.08585101 -0.35913948 -1.19360897  0.36418674
set.seed(111)
rnorm(10)
##  [1]  0.2352207 -0.3307359 -0.3116238 -2.3023457 -0.1708760  0.1402782
##  [7] -1.4974267 -1.0101884 -0.9484756 -0.4939622
# 先ほどと同じ乱数が発生していることが確認できましたか。111の値を変えると異なる乱数が発生します。


# では、本題に戻ります。1000個の乱数を作り、yに代入してください。
# できましたか。

rnorm(10)

# 次に、z <- rep(NA, 1000)を実行してください。
z <- rep(NA, 1000)

# 次に、既に作っている y と Z を使って両者の中から100個の値をサンプリングし、その結果をmy_dataに代入しください。
my_data <- sample(c(y, z), 100)
# これは、yとzの中から、ランダムに任意の100個の値を抽出しています。

# 次に、is.na( )を使ってmy_dataをチェックし、その結果を my_na に代入してください。
# my_naを表示してください。
my_na
##   [1]  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE
##  [12] FALSE  TRUE FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE  TRUE FALSE
##  [23] FALSE FALSE FALSE  TRUE FALSE  TRUE FALSE FALSE  TRUE FALSE FALSE
##  [34]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE FALSE FALSE FALSE
##  [45] FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE FALSE  TRUE
##  [56] FALSE FALSE FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE  TRUE
##  [67] FALSE FALSE  TRUE  TRUE FALSE FALSE  TRUE  TRUE FALSE FALSE FALSE
##  [78] FALSE  TRUE  TRUE  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE FALSE
##  [89]  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE  TRUE  TRUE
## [100] FALSE
# さあ次に、my_na には何個のNAがあるかチェックしてみましょう。
# これはTRUEの数の合計になります。TRUEには1が割当られるので、my_naを合計するとTRUEの数、つまりNAの数が分かります。
# sum(my_na)を実行してください。
# この結果は、同じではありせん。なぜだか考えてください。
sum(my_na)
## [1] 43
# 最後に、my_data の具体的な内容を見てみましょう。
my_data
##   [1]          NA -1.29349098  0.05113670  0.41003794 -0.83295959
##   [6]          NA          NA          NA  1.22528658 -1.46826970
##  [11] -1.59690189 -1.41787206          NA -0.81259634  0.32654924
##  [16]  0.78194613 -0.61094662          NA          NA  0.24783763
##  [21]          NA -1.17572604 -0.63601621 -1.23969852  0.23893444
##  [26]          NA -0.58981171          NA  0.90152220 -0.16314431
##  [31]          NA  0.41202913 -1.37039618          NA          NA
##  [36]          NA          NA          NA -0.35777281          NA
##  [41]  0.02115758 -0.79073938 -0.04159986 -3.20596922 -0.47640251
##  [46] -0.02012394  2.62510863          NA          NA  0.28818001
##  [51] -0.25193829 -0.52302185          NA -0.22637939          NA
##  [56]  0.44851364 -1.81120975  0.36418674 -0.66416202          NA
##  [61]          NA -0.38074476 -0.78695273          NA          NA
##  [66]          NA  0.22641181 -0.83381364          NA          NA
##  [71]  0.38949993  0.57738415          NA          NA  1.61088633
##  [76]  0.37266454  1.99543597 -1.43569392          NA          NA
##  [81]          NA          NA -1.12121553  0.66147923  1.02319705
##  [86]          NA          NA -0.72449495          NA  1.12528654
##  [91]          NA  0.91316326          NA          NA          NA
##  [96] -0.90307988 -0.09959470          NA          NA -1.32087143