Next: , Previous: The intrinsic attributes mode and length, Up: Objects



3.2 改變物件長度

一個“空”的物件仍然有其模式的。例如

     > e <- numeric()

創建了一個數值模式的空向量結構 e。相似的是, character()是一個空的字元向量,等等。一旦 一個任意長度的物件被創建,新元素可以通過給定一個在先前索引範圍外的索引值 1而加入。因此

     > e[3] <- 17

將創建一個長度為3的向量 e(此時,前兩個元素 都是 NA)。這可以用於任何資料結構, 並且提供了一種添加 和第一個位置的物件模式一致的物件的方式。

這種自動調整物件長度的方法是經常使用的,如 等待輸入的函數 scan()。(see The scan() function.)

相反,刪減一個物件的大小只需要用賦值操作。 因此,如果 alpha 是一個長度為10的物件,那麼

     > alpha <- alpha[2 * 1:5]

創建一個由偶數索引位元值上的元素構成的長度為5的物件 (當然,老的索引將會被拋棄)。 我們可以僅僅保留起始的三個值

     > length(alpha) <- 3

並且一個向量可以用同樣的辦法擴充(擴充部分用缺省值)。


Footnotes

[1] 譯者注:這裏要小心一點。正整數,負整數,大於或小於原來的索引範圍的值都有不同含義。