在 Vector 中的資料,需要是同質性的,也是說在一個 Vector 的所有元素 (element),需要是同一型別,用 R 的話來說,就是要同一種模式 (mode)。
如我們指定一個 Vector 給變數
d
,則在指定的元素中,需要是同型別的:
> d <- c(1, 2, 3, 4, 5) > d [1] 1 2 3 4 5若我們在指定 Vector 時,指定了不同型別的元素,則 R 會自動幫我們轉型:
> e <- c(1, 2, "a", "b") > e [1] "1" "2" "a" "b"或是
> f <- c(2.0, e) > f [1] "2" "1" "2" "a" "b"Vector可以使用索引 (index) 來取得某一位置的元素,如: > d[3] [1] 3 上列的指令取得
d
中第三個元素的值,這裡要注意的是,在R
中的索引,是由1
算起,而不是0
。Vector 可以使用索引 (index) 來取得多個位置的元素,並回傳一個 Vector,如:
> d <- c(2, 4, 6, 8, 10) > g <- d[c(1, 3, 5)] > g [1] 2 6 10Vector 中的元素可以被設定一個名稱,Vector 有一個
names
的屬性,我們可以使用它來設定 Vector 的元素名稱,如:
> names(d) <- c("element1", "element2", "element3", "element4", "element5") > d element1 element2 element3 element4 element5 2 4 6 8 10請注意,這裡的
names
有「s」。
一旦給了元素名稱之後,我們也就可以使用名稱來取得 Vector 的元素了:
> d["element1"] element1 2鏘!鏘!在中括號的元素名稱,請記得用兩個「"」 (雙引號) 包起來喔!
如果你需要進一步地認識 R,我推薦: