R语言 | 列表

news2024/11/26 13:48:20

目录

一、建立列表

1.1 建立列表对象——对象元素不含名称

1.2 建立列表对象——对象元素含名称

1.3 处理列表内对象的元素名称

1.4 获得列表的对象元素个数

 二、获取列表内对象的元素内容

2.1 使用"$"符号取得列表对象的元素内容

2.2 使用"[[ ]]"符号取得列表内对象的元素内容

2.3 列表内对象名称也可当作索引值

2.4 使用"[ ]"符号取得列表内对象的元素内容

 三、编辑列表内的对象元素值

3.1 修改列表元素内容

3.2 为列表增加更多元素

3.3 删除列表内的元素

3.4 列表合并

五、解析列表的内容结构


列表是一种具有很大弹性的对象,在同一列表内可以有不同属性的元素,例如,字符串或数值。也可以拥有不同的对象,例如,向量、矩阵、因子、数据框或其他列表。

数据框可以视为数个向量所组成的列表对象,但是数据框受限于各向量 长度必须相同。列表则无此限制。

一、建立列表

建立列表所需的函数是list()。

1.1 建立列表对象——对象元素不含名称

1.2 建立列表对象——对象元素含名称

建立列表,并且同时为对象元素命名所使用的也是list()函数。

1.3 处理列表内对象的元素名称

names()函数可以获得以及修改列表内对象元素名称。

1.4 获得列表的对象元素个数

length()函数可以获得列表的元素个数。

 

 二、获取列表内对象的元素内容

对于列表内对象元素,如果有名称,可以使用"$"符号,取得对象元素内容。无论列表内的对象元素已有名称或尚未有名称,皆可以使用"[[ ]]"符号取得对象元素内容。无论是使用"$"符号或是"[[ ]]"所传回的都是对象元素本身。

2.1 使用"$"符号取得列表对象的元素内容

2.2 使用"[[ ]]"符号取得列表内对象的元素内容

2.3 列表内对象名称也可当作索引值

2.4 使用"[ ]"符号取得列表内对象的元素内容

使用"[ ]"也可取得列表对象的元素内容,但所传回的数据类型是列表。"[ ]"符号的另一个特点是可以使用负索引。

 三、编辑列表内的对象元素值

3.1 修改列表元素内容

我们可以使用"[[ ]]"和"$"修改列表元素的内容。

此外,也可以使用"[ ]"的方式实现列表元素内容的修改。

3.2 为列表增加更多元素

我们可以修改列表元素的值,也可以为列表增加新元素。此时可以使用索引,也可以使用"$"符号。

 

 

 对于使用"[ ]"和"[[ ]]"而言,也可以在索引中直接以数值表示列表新增的第几个元素。

使用这种方式新增列表元素时,首先必须知道列表内有多少元素,如果原列表已经有4个元素,则会修改第4个元素的内容,而不是新增第4个元素。

3.3 删除列表内的元素

如果想要删除列表内的元素,只要将此元素设为NULL即可。同时如果所删除的元素非最后一个元素,原先后面的元素会往前移。例如,如果我们删除第4个元素,则删除后第5个元素会变成第4个元素,其他依此类推。

 

3.4 列表合并

如果想要将2个或多个列表合并,所使用的也是c()函数。

五、解析列表的内容结构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/475466.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于GeoServer发布服务时数据源设置的避坑指南

题外话 时光任然,一年一度的五一劳动节已然来到。作为疫情之后迎来的第一个五一,不知道各位小伙伴们怎么度过这个劳动节呢?是决定去另一个城市,观察体验一下不一样的风景,或者去旅游,给自己放假。昨天被123…

three.js进阶之动画系统

我曾在three.js进阶之骨骼绑定文章中提到了AnimationMixer、AnimationAction等内容,其实这些应该属于Three.js的动画系统,本文就系统的介绍一下动画系统(Animation System)。 前言 一般情况下,我们很少会使用three.j…

【学习视频】阅读开源工业软件和工业智能实战上线B站

图片来源:https://metrology.news/a-i-for-smarter-factories-the-world-of-industrial-artificial-intelligence/ 为了帮助大家做好工业软件以及用人工智能解决工业领域现实问题,我在B站上开了两个视频系列,一个是“一起来读开源工业软件”…

STM32 基础知识入门 (C语言基础巩固)

1、在不改变其他位的值的状况下,对某几个位进行设值 这个场景在单片机开发中经常使用,方法就是先对需要设置的位用&操作符进行清零操作, 然后用|操作符设值。 比如我要改变 GPIOA 的 CRL 寄存器 bit6(第 6 位)的…

MiNiGPT4安装记录

装conda wget https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-x86_64.sh chmod x Anaconda3-5.3.0-Linux-x86_64.sh ./Anaconda3-5.3.0-Linux-x86_64.sh export PATH~/anaconda3/bin:$PATH # 或者写到环境保护变量 # 不会弄看这吧 https://blog.csdn.net/wyf2017/a…

fork()创建进程原理

目录 一、写时复制技术写时复制的优点:vfork()和fork() 二、fork()原理初步再理解下页表与多进程在内存中的图像创建进程和创建线程的区别 三、fork()的具体过程 一、写时复制技术 fork()生成子进程时,只是把虚拟地址拷贝给子进程,也就是父进…

( 字符串) 205. 同构字符串 ——【Leetcode每日一题】

❓205. 同构字符串 难度:简单 给定两个字符串 s 和 t ,判断它们是否是同构的。 如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。 每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同…

网络基础:socket套接字

文章目录 1. 前导知识1.1 源MAC地址和目的MAC地址1.2 源IP地址和目的IP地址1.3 MAC地址和IP地址的配合1.4 源端口号和目的端口号1.5 Socket1.6 UCP协议和TCP协议1.7 网络字节序高低位高低地址大端和小端网络字节序常用转换函数 2. socket 网络编程2.1 socket 常见接口创建套接字…

ChatGPT最好用的连接-自动写文案-代码算法最佳选择

ChatGPT最好用的连接-自动写文案-代码算法最佳选择 最近测试了很多国内分享的ChatGPT,很多都是限制最多写200文字,超过200个文字就不显示了。或者有的写出的文章逻辑性不对,写的算法不能正常运行。 经过多天的搜索测试,最终确定…

某电商客户数据价值分析项目

目录 一、项目意义 二、项目流程 三、项目内容 1、导入数据 2、数据预处理 3、单变量分析 4、聚类分析—Kmeans算法 一、项目意义 客户价值分析就是一个客户分群问题,以客户为中心,从客户需求出发,搞清楚客户需要什么,他们…

Linux进程通信:进程组 会话

1. 进程组 (1)概念:一个或多个进程的集合,也称为“作业”。 (2)父进程创建子进程时,默认属于同一个进程组。进程组ID为组长进程ID。 (3)进程组中只要有一个进程存在&a…

unity中的Line Renderer

介绍 unity中的Line Renderer 方法 首先,Line Renderer 是 Unity 引擎中的一个组件,它可以生成直线、曲线等形状,并且在场景中呈现。通常情况下,Line Renderer 被用来实现轨迹、路径、线框渲染以及射线可视化等功能。 在使用 …

imx6ull开发板环境配置 - libusb、libudev、eudev交叉编译

目录 零、前言 一、libusb交叉编译 1.0 前言 1.1 交叉编译 二、usbutils交叉编译 2.0 前言 2.1 交叉编译 三、libudev交叉编译 3.0 前言 3.1 交叉编译 3.2 错误处理-没找到usbutils 3.3 错误处理-没找到pci.ids (pci.ids not found) 3.3.0 前…

【数据库】索引与事务

目录 1、索引 1.1、概念 1.2、索引的作用 1.3、 索引的缺点 1.4、数据库中实现索引的数据结构 1.4.1、B树/B-树 1.4.2、B树 1.4.3、回表 1.5、使用场景 1.6、索引的使用 1.6.1、查看索引 1.6.2、创建索引 1.6.3、 删除索引 1.7、索引的分类 2、事务 2.1、为什…

Arduino ESP8266基于ESPAsyncWebServer 网页GPIO控制

Arduino ESP8266基于ESPAsyncWebServer 网页GPIO控制 📍相关篇《Arduino ESP8266利用AJAX局部动态更新网页内容》 📺控制页面演示: 🌿在手机上可以通过接入ESP8266的WIFI,通过浏览器方位192.168.4.1进行网页页面操控引脚以及查看esp8266信息。 ✨本项目是基于github上…

[oeasy]python0143_主控程序_main

主控程序 回忆上次内容 上次把 apple.py 拆分成了 输入主函数 引用模块中变量的时候 要带上包(module)名 get_fruits.aget_fruits.b 最终 拆分代码 成功! 可以将程序 再拆分成 输入输出 然后 再由主函数调用吗?🤔 建立主控 新建一个 ma…

【Java笔试强训 10】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥井字棋 …

大数据技术之大数据概论

第1章 大数据概念 大数据(Big Data): 指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产 大数据主要解决,海量数据的采集、存…

【吴恩达推荐】《ChatGPT Prompt Engineering for Developers》- 知识点目录

《ChatGPT Prompt Engineering for Developers》 1 Introduction 2 Guidelines Principle 1: Write clear and specific instructions Tactic 1: Use delimiters Tactic 3: “If-statement” Check whether conditions are satisfiedCheck assumptions required to do the …

RDD的Stage划分原理

1. 什么是RDD RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark 中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合。在Spark 中,对数据的所有操作不外乎创建RDD、转化已有RDD 以…