List
可以把list看做是可以包含不同類型元素的向量
給以下這個例子做說明,以下df這個list包含n, a, m三個向量的副本。并且包含一個整型數值666。
n <- c("Jane", "Tom", "Jack")
a <- c(23, 24, 22)
m <- c("F", "M", "M")
df <- list(n, a, m, 666)
print一下看看
>print(df)
>>>
[[1]]
[1] "Jane" "Tom" "Jack"
[[2]]
[1] 23 24 22
[[3]]
[1] "F" "M" "M"
[[4]]
[1] 666
輸出的東西很奇怪,我們知道,python中的list是[1, 2, 3]
這種樣式的,這里面R和python不同,可以理解為它做了嵌套的list,比如我們可以通過輸出第一個元素,看下它的類型
>print(class[df[1]])
>>>
[1] "list"
得到結果為list,說明我們的結論沒有問題
那么,如何取得list中的元素呢?R給的方案是雙框號[[index]]
,我們比如我們要獲得n那一列。可以這么操作
>print(df[[1]]) # 提取第一列
>>>[1] "Jane" "Tom" "Jack"
因此,再檢查一下它的類型
>print(class(df[[1]]))
>>>[1] "character"
沒問題,基本的向量類型,你可能會疑問,明明是character類型啊?其實不是這樣的,R當中,是不存在簡單數據(數值型、邏輯型、字符型等),它只會默認把它們看作是長度為多少的向量類型,可以打印一下長度看下
>print(length(df[[2]]))
>>>[1] 3
長度為3的向量。