2008年11月1日 星期六

R 變數類型

R的變數類型有下列幾種:
  1. 向量: 為預設類型, 即一維陣列
  2. Data frame: 具有欄位名稱的二維陣列
  3. List: 可儲存不同類型的物件集合, 例如summary(), 要轉成向量, 可用unlist()
  4. S3: 可具有class的list, 如果list被函數呼叫時, R會使用class的方法取代標準的方法, 請看下例:
    # 取三個常態分配隨機亂數
    h=list(a=rnorm(3), b= "it cannot be printed ")
    # 設定h變數的class名稱為MyClass
    class(h)= "MyClass "
    # 實作MyClass函數
    print.MyClass=function(x){cat("A = ", x$a, "n ")}
    # 列印h, 發現R以MyClass取代print
    print(h)
  5. S4: 類似S3, 有點複雜, 以後再說明
  6. 日期變數: 要使用日期函數處理, 必須先把變數轉為日期
    l 如為字串變數且格式為yyyy-mm-dd, 可用as.Date轉換
    l 如為數字變數且格式為yyyymmdd, 須先用as.character轉為文字再使用as.Date轉換
    > a=20081028
    > as.Date(as.character(a), format="%Y%m%d")
    [1] "2008-10-28"
    > as.Date(as.character(a), format="%Y%m%d")+1
    [1] "2008-10-29"

    日期格式設定可輸入help(“strtime”)查閱

沒有留言: