Rの基本タイプオブジェクト

  • 基本タイプオブジェクト Basic types (objects)
    • これらは、上述したCによって定義されたオブジェクトをR的に分類しなおして、呼びなおした(ような)もの
    • 一覧
      • Vector objects
      • List objects
      • Language objects
      • Expression objects
      • Function objects
      • NULL object
      • Builtin objects and special forms
      • Promise objects
      • Dot-dot-dot "..."
      • Environment objects
      • Pairlist objects
      • Any-type
  • Vector objects
    • 同様の要素を連続したセルに格納したもの
      • Atomic vectorsとも呼ぶ(それは、以下に出てくる、同様でない要素を格納したListもvectorであることと区別するため)
    • Index添え字を使ってアクセスする
      • Index添え字の規則は重要なので、別記事で→こちら
    • 格納するものは次の通り
      • logical 論理値
      • integer 整数値
      • double 有理数
      • complex 複素数
      • character 文字値
      • raw ??
  • List objects
    • Vector objectsが同様の要素を持つのに対し、List objectsの要素はそろっている必要はない
    • 要素がそろっていないだけで、Vector objectsである
    • したがってIndex添え字でアクセスされる。Index添え字規則は重要。別記事で→こちら
  • Language objects
    • いつ、使うものかわからないので、ひとまず、Language objectを作って置いておく
thisISlist<-list(a=1:4,b=c("+","-"))
thisISLanguage<-as.call(thisISlist)
thisISLanguage
    • Symbol objects
      • Language objectsの下部要素にsymbol objectsというのがある
      • これは、関数名を呼び出したりするときに使うのではないか、と思うが、まだはっきりしない…
> thisIScharacter<-c("hello")
> thisIScharacter
[1] "hello"
> is.character(thisIScharacter)
[1] TRUE
> thisISsymbol<-as.name(thisIScharacter)
> thisISsymbol
hello
  • Expression objects
    • これも説明文の格納などに使われるものでLanguage objectsと似ているようだ
    • 説明文書やらの作成に(背後で)使われているのかと想像する
  • Function objects
    • 処理を定義したもの
    • 3つの要素からなる
      • 引数リスト argument list
      • 処理本体 body
      • 環境 environment
  • NULL
    • オブジェクトが存在しないことを示すため
    • 『空のベクトル』とかとは異なる
  • Builtin objects とspecial forms
    • .Primitive, .Internalとかで示される「見えない関数」
  • Promise objects
  • Dot-dot-dot objects
    • Cの"..."に対応するオブジェクト
  • Environments
  • Pairlist
    • Lispのdotted-pair listに対応するオブジェクト
  • Any