R——List

2017-12-21  本文已影响13人  鸡仔说

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的向量。

写到这里,下次在写

上一篇下一篇

猜你喜欢

热点阅读