# `:` 演算子を使って、変数 my_vector に1から20までの整数を代入してください。
# my_vector <- .......
# my_vectorの内容を表示させてください。
# my_vectorの長さ(数値の数)を確認するコマンド(関数)を入力してください。
# dim(my_vector) <- c(4, 5) を実行してください。
# 関数dim()は変数の大きさを確認するための他、変数の大きさを設定することにも使います。
# dim(my_vector)を実行してください。これでmy_vectorの大きさが確認できます。
# attributes(my_vector)も実行してください。同じことが確認できます。
# attributeとは属性を意味します。
# my_vectorを実行して中身を確認してください。
# 先ほどの dim(my_vector) <- c(4, 5)によりマトリックスに変わっています。
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1 5 9 13 17
#[2,] 2 6 10 14 18
#[3,] 3 7 11 15 19
#[4,] 4 8 12 16 20
# と表示されましたか。
# 本当にマトリックスになっているかどうか、class(my_vector)を実行して確認してください。
#[1] "matrix” と表示されましたか。
# 関数 matrix()を使って、マトリックスを作ってみます。
# 1から20までの整数を持つ4x5のマトリックスを作り、変数 matrix2に代入します。
my_matrix2 <- matrix(1:20, 4, 5)
# 先ほどのmy_matrixとmy_matrix2が同じ内容かどうかを確認するために
# identical(my_matrix, my_matrix2) を実行してください。
# 次に"Bill", "Gina", "Kelly", "Sean"の4人の名前を変数patientsへ代入します。
patients <- c("Bill", "Gina", "Kelly", "Sean")
# 次に、関数cbind()を使ってみます。
cbind(patients, my_matrix2)
## patients
## [1,] "Bill" "1" "5" "9" "13" "17"
## [2,] "Gina" "2" "6" "10" "14" "18"
## [3,] "Kelly" "3" "7" "11" "15" "19"
## [4,] "Sean" "4" "8" "12" "16" "20"
# 次に、関数cbind()を使ってみます。
cbind(patients, my_matrix2)
## patients
## [1,] "Bill" "1" "5" "9" "13" "17"
## [2,] "Gina" "2" "6" "10" "14" "18"
## [3,] "Kelly" "3" "7" "11" "15" "19"
## [4,] "Sean" "4" "8" "12" "16" "20"
# この関数cbind()のcはcolumn(カラム:列) のcです。つまり、列の順番に値を設定します。
# これと対になる関数がrbind()です。rはrow(ロウ:行)のrです。つまり行の順番に値を設定します。
# 本題に戻ると、cbind(patients, my_matrix2)の結果は変です。
# 数値がcharacterに変更されています。これは、同じ型のデータから構成されるマトリックスへの入力のため、
# 最初の”Bill”などのcharacterに数値が強制的にcharacterに変換されたことになります。
# このような強制変換をしないためには、関数data.frame()を使います。
my_data <- data.frame(patients, my_matrix2)
# my_dataを表示させてください。
# 次に my_dataの型を関数class()を作ってチェックしてください。
# [1] "data.frame" と表示されましたか。
# my_data は6列です。
# my_data の列名を、”patient", "age", "weight", "bp", "rating", "test” にしてみます。
# そのために、まず、変数cnames へ"patient", "age", "weight", "bp", "rating", "test”を代入してください。
# 次に、関数colnames()を使ってcnamesの値を代入してください。
# (関数rownames()についても確認しておいてください。)
# できましたか。
# my_dataを表示させると...
# >my_data
# patient age weight bp rating test
# 1 Bill 1 5 9 13 17
# 2 Gina 2 6 10 14 18
# 3 Kelly 3 7 11 15 19
# 4 Sean 4 8 12 16 20
# と表示されます。
# これが確認できれば、このレッスンは終了です。