Vector and List


Vector

vector是R最基礎的物件型態,初始化的方法:

  • c()直接賦值初始化。

    x <- c(obj1, obj2, obj...) #obj必須為同一種class。

  • vector(),以屬性初始化vector。

    x <- vector("numeric", length = 10) #用class name和長度初始化vector。

Coercion轉換
  • 自動提升:當使用不同class的object創建vector時,較低階的object會自動被提升。

    提升的順序: logical -> integer -> numeric -> complex -> character

  • 顯式轉換:利用as.*之類的函數對目標物件進行class轉換。

    例如:as.integer(logical obj)將obj提升為integer,注意只能向上提升,無法往下降階(會產生NA)。


List

與vector相較,List可以容納不同class的obj而不會發生轉換,初始化的方法:

  • list(),直接賦值初始化。

    x <- list(obj1, obj2, obj...) #obj可為不同種class。

  • vector(),以屬性初始化vector。

    x <- vector("list", length = 10) #初始化一個長度為10,空的list(Evaluation會得到NULL)。

results matching ""

    No results matching ""