型、型変換、初期化
型の基本単位(元のオブジェクト)
| 数値(numeric) |
例) 1, 1.2, 1.2e-10,
Inf, -Inf (∞と-∞),
NaN (‘Not a Number’)
-3+2i (複素数も使える) |
| 文字列(character) | 例) '文字列' または "文字列" |
| 論理値(logical) | T, TRUE, F, FALSE |
| 欠測値(No Answer) | NA |
| 空(NULL) | NULL |
注:
> x <- c(3,-3,Inf,-Inf,NA)
> x + Inf
[1] Inf Inf Inf NaA NA
> x - Inf
[1] -Inf -Inf NA -Inf NA
> log(x)
[1] 1.098612 NaA Inf NaA NA
> x==NA
[1] NA NA NA NA NA # NA は不定であり、何物も黙って判定できない。
# NAであること検査するには is.na(x) を使います。
> は.な(x)
[1]FFFFT
オブジェクトの型などを網羅
| length( x ) | x 一番さを返す |
| mode( x ) | xの型を返す |
| class( x ) | xのクラスを返す |
| is( x, "クラス名" ) | xが「クラス」に属するかの真偽を返す |
| attribute(x) | xの属性を返す |
| dim( x ) | 配列xの次元相当を返す |
物体の同等性の検査
| identical(x,y) | xとyが完全に一致するか |
| all.equal(x,y) | xとyが大体一致するか、違いは何か |
型テスト、型変換、初期化
| 型 | 型のテスト | 型の変換 | 初期化(作成) |
| 文字 | is.character | as.character | character( length = n ) |
| 整数 | is.integer | as.integer | integer( length = n ) |
| 実数 | is.numeric | as.numeric | numerical( length = n ) |
| 倍精度実数 | is.double | as.double | double( length = n ) |
| 複素数 | is.complex | as.complex | complex( length = n ) |
| 論理型 | is.logical | as.logical | logical( length = n ) |
| ベクトル | is.vector | as.vector | vector( length = n ) |
| 行列 | is.matrix | as.matirx | matrix([データ] ,nrow,ncol ) |
| 配列 | is.array | as.array | array( dim = [次元数ベクトル]) |
| リスト | is.list | as.list | list() vector(mode="list",length=3) |
| データフレーム | is.data.frame | as.data.frame | data.frame([データ]) |
| 因子変量 | is.factor | as.factor | factor(x, levels, labels) |
| 空データ | is.null | as.null | - |
| 欠測データ | is.na | - | - |
特殊な値の探索
| which(x) | 論理型ベクトル x が真である要素の番目 |
| which.max(x) | 数値ベクトル x の中で 最大である要素の番目 |
| which.min(x) | 数値ベクトル x の中で 最小である要素の番目 |
例
x <- c(10,20,30,NA,40)
which(x>=30) # [1] 3 5 % 30より大きな要素の番目
x[which(x>=30)] % その値の抽出
which.max(x)
[1] 5
which.min(x)
[1] 1