16章 ベクトル
16.0 ライブラリの読み込み
library("tidyverse")16.1 はじめに
16.2 ベクトルの基本
16.3 重要なアトミックベクトル
練習問題1 is.finite(x)と!is.infinite(x)の違いは何か。
is.finite(x)と!is.infinite(x)の違いは何か。x <- c(0, 1, NA, NaN, Inf, -Inf)
is.finite(x)
[1] TRUE TRUE FALSE FALSE FALSE FALSE
# !is.finite(x)
# [1] FALSE FALSE TRUE TRUE TRUE TRUE
# is.infinite(x)
# [1] FALSE FALSE FALSE FALSE TRUE TRUE
!is.infinite(x)
[1] TRUE TRUE TRUE TRUE FALSE FALSE練習問題2 dplyr::near()のソースコードを読んで、機能を説明しなさい。
dplyr::near()のソースコードを読んで、機能を説明しなさい。練習問題3 論理ベクトルは3つの可能な値を取る。integerに取り得る値はいくつあるのか。dobleに取り得る値はいくつあるか。
integerに取り得る値はいくつあるのか。dobleに取り得る値はいくつあるか。練習問題4 doubleを整数に変換できるようにする少なくとも4つの関数を考えなさい。
doubleを整数に変換できるようにする少なくとも4つの関数を考えなさい。練習問題5 {readr}パッケージのどの関数を使って文字列をlogical、integer、doubleのベクトルに変えることができるか?
{readr}パッケージのどの関数を使って文字列をlogical、integer、doubleのベクトルに変えることができるか?16.4 アトミックベクトルを使う
練習問題1 mean(is.na(x))はどのように機能するのか。sum(!is.finite(x))とどう違うのか。
mean(is.na(x))はどのように機能するのか。sum(!is.finite(x))とどう違うのか。練習問題2 is.vector()のドキュメントを読んで、is.atomic()のアトミックベクトルの定義と異なるのか説明しなさい。
is.vector()のドキュメントを読んで、is.atomic()のアトミックベクトルの定義と異なるのか説明しなさい。練習問題3 setNames()とpurrr::set_names()を比較しなさい。
setNames()とpurrr::set_names()を比較しなさい。練習問題4 入力としてベクトルを受け取る関数を作成しなさい。
練習問題5 x[-which(x > 0)]はx[x <= 0]とどう異なるのか。
x[-which(x > 0)]はx[x <= 0]とどう異なるのか。練習問題6 ベクトルの長さよりも大きい正の整数でサブセット化するとどうなるか。存在しない名前でサブセットするとどうなるか。
16.5 再帰ベクトル(リスト)
練習問題1 次のlistを入れ子集合として描きます。
listを入れ子集合として描きます。16.6 属性
16.7 拡張ベクトル
練習問題1 hms::hms(3600)は何を返しますか。拡張ベクトルはどのような基本型の上に構築され、どんな属性を使うのか?
hms::hms(3600)は何を返しますか。拡張ベクトルはどのような基本型の上に構築され、どんな属性を使うのか?練習問題2 長さの異なる列を持つtibbleを試してみてください。何が起こるのですか?
tibbleを試してみてください。何が起こるのですか?練習問題3 上記の定義に基づいて、listをtibbleの列として持つことは問題ありませんか。
listをtibbleの列として持つことは問題ありませんか。最終更新