美文网首页
R语言列表基础

R语言列表基础

作者: 采星星的小太阳BavaLI | 来源:发表于2020-05-08 10:45 被阅读0次

列表(list) :

Java语言开发
python : 万物皆对象 【语法太灵活】【数据挖掘】
R数据类型 理解 对象 【数据可视化,数据调研】

列表可以包含很多不同类型的元素:向量,列表,字符串

1.创建列表 (list)

创建列表 - 正常创建方式

> list1 = list("hello",1, c(1,2,3))
> list1
[[1]]
[1] "hello"

[[2]]
[1] 1

[[3]]
[1] 1 2 3

> class(list1)
[1] "list"
> 

从这里cos看一下,list存储的是引用,cos提供了一个引用

> list1 <- list(c(1,2,3),21.3,cos)
> class(list1)
[1] "list"
> list1[[1]]#获取最直接的原子向量类型
[1] 1 2 3
> list1[1]#获取list的第一个元素,注意,下标还是从1开始
[[1]]
[1] 1 2 3

> class(list1[[1]])
[1] "numeric"
> class(list1[1])
[1] "list"
> 

创建列表并赋予名字及list的访问

> list1
[[1]]
[1] 1 2 3

[[2]]
[1] "hello"

> names(list1) <- c('a','b')#在names里面传入要赋予名字的列表,右边指定,名字
> list1
$`a`
[1] 1 2 3

$b
[1] "hello"

> list1['a']#按照名字访问
$`a`
[1] 1 2 3

> list1$a#按照$符号访问
[1] 1 2 3
> 

> list1[1]#按照原来的索引访问
$`a`
[1] 1 2 3

> list1[1:2]#切片访问
$`a`
[1] 1 2 3

$b
[1] "hello"

>
> list1['a':'b']#同样是与向量一样不支持名字切片的形式访问
Error in "a":"b" : NA/NaN argument
In addition: Warning messages:
1: NAs introduced by coercion 
2: NAs introduced by coercion 
> 
        # 学习R语言,要清楚对每个数据结构
        # 做访问数据的操作,返回值是什么类型
        # 没有命名的方式 , 列表访问
        # 数据可视化(向量) 常用
        # 数据挖掘数据分析:数据框,向量 常用

list修改

> list1
$`a`
[1] 1 2 3

$b
[1] "hello"
> list1[[1]] =c(11,22,33,44,55)#给元素赋值的时候,不一定长度相同
> list1
$`a`
[1] 11 22 33 44 55

$b
[1] "hello"
> list1[[2]] <- list('bava','11')#可以替换成其它类型的数据
#为什么可以这样做,R语言没有类型约束,自动进行类型推断
> list1
$`a`
[1] 11 22 33 44 55

$b
$b[[1]]
[1] "bava"

$b[[2]]
[1] "11"

删除

> list1
$`a`
[1] 11 22 33 44 55

$b
$b[[1]]
[1] "bava"

$b[[2]]
[1] "11"

> list1[-1]#注意,返回的还只是一个副本
$`b`
$`b`[[1]]
[1] "bava"

$`b`[[2]]
[1] "11"

> class(list1[[-1]])#删除后返回list
[1] "list"
> class(list1[-1])#删除后同样返回list
[1] "list"
> 

删除多个

> list1
$`a`
[1] 11 22 33 44 55

$b
$b[[1]]
[1] "bava"

$b[[2]]
[1] "11"


> list1[c(-1:-2)]
named list()#全部删除,所以为空了

增加

> list1[[3]] =c(11,22,33)#原来只有两个元素,即只有1、2两个索引,现在增加一个
> list1
$`a`
[1] 11 22 33 44 55

$b
$b[[1]]
[1] "bava"

$b[[2]]
[1] "11"


[[3]]
[1] 11 22 33

> 

合并列表

> list1 =list(c(1,2,3))
> list2 = list(c(1,2,3))
> c(list1,list2)
[[1]]
[1] 1 2 3

[[2]]
[1] 1 2 3
        #不同维度可以合并吗 
        #list6[[1]][3]
        list4 = list(c(1,2,3))
        list5 = list(c(4,5))
        list6 = c(list4,list5)
> list6
[[1]]
[1] 1 2 3

[[2]]
[1] 4 5


> list1[[1]][1]#补充一下访问,你也可以这样
[1] 1
> list1[1][1]#补充一下访问,你也可以这样
[[1]]
[1] 1 2 3

> 

不同维度依然可以合并

> list4 = list(c(1,2,3),1)
> list5 = list(c(4,53,4,5),'bava')
> list6 = c(list4,list5)
> list6
[[1]]
[1] 1 2 3

[[2]]
[1] 1

[[3]]
[1]  4 53  4  5

[[4]]
[1] "bava"

> 

列表转换向量

> list4
[[1]]
[1] 1 2 3

[[2]]
[1] 1

> unlist(list4)#使用unlist()方法,实现列表转为向量
[1] 1 2 3 1
> class(list4)
[1] "list"
> class(unlist(list4))
[1] "numeric"
> 

好啦,今天就到这里,可以说讲的很仔细了,大家慢慢悟吧,希望能帮助到爱学习的你们!如果可以,我很开心!如果想深入学习R,欢迎访问我的主页R专栏!

相关文章

  • R语言列表基础

    列表(list) : Java语言开发python : 万物皆对象 【语法太灵活】【数据挖掘】R数据类型 理解 对...

  • 学习小组Day4笔记--BC221

    R语言基础-1 显示文件列表 加减乘除 赋值 删除变量

  • R语言基础--数据类型-总结

    R语言基础--数据类型-总结 1、R语言基础--数据类型之向量 2、R语言基础--数据类型之因子 3、R语言基础-...

  • R 语言-列表

    列表顾名思义就是用来存储很多内容的一个集合,在其它编程语言中,列表一般和数组是等同的,但是在 R 语言中,列表却是...

  • R语言 列表

    列表是R语言对象,它包含不同类型的元素,如数字,字符串,向量和其中的另一个列表。 列表还可以包含矩阵或函数作为其元...

  • R语言——列表

    前一段工作太忙了,终于又有时间来继续学习了 列表就是一些对象(或成分,component)的有序集合。列表允许整合...

  • R语言-列表

    生成列表list函数 取一个子集 取子集的子集 转换为列表及解除列表 列表的转换

  • R语言基础之数据结构

    基础数据结构 R语言中主要有向量(vector),矩阵(matrix),列表(list),数据框(data fra...

  • 学习小组Day4笔记--Sakura

    R语言基础 安装R(基础)和Rstudio 必须保证电脑用户名为英文 R语言与Rstudio R语言的核心是解释计...

  • R语言-0基础学习4-实战1-常见操作

    R语言学习系列R语言-0基础学习1-数据结构R语言-0基础学习2-构建子集R语言-0基础学习3-循环排序信息处理函...

网友评论

      本文标题:R语言列表基础

      本文链接:https://www.haomeiwen.com/subject/wdmxnhtx.html