当前位置: 首页 > news >正文

R语言中的列表list

基础

在R语言中的最常用的向量有两种:

第一种,原子向量

像字符型向量,数值型向量,逻辑型向量这些,它们共有的一个特点是,向量里面的值是同质的。当你用数值型向量时,里面所有值都是数值型的。

就算你写的代码是不同质的,R也有一套说法给你自动转化成同质的。
比如说:

> x <- c(1,"2","3","4",5)
> typeof(x)
[1] "character"

在这个向量中,所有的值被转换成字符向量。

再比如:

> x <- c(TRUE,1,0,FALSE,5)
> x
[1] 1 1 0 0 5

在这样一个向量中,TRUE都被转换成了数值型的1,FALSE都被转化成了0。

第二种:列表

和原子型向量不一样的是,列表的元素可以是各种类型的数据,甚至可以再试一个列表。
这使得列表容纳的数据类型具有很强的丰富性。

1. 创建列表

创建列表可以用list函数。
如下:

> x <- list(1,2,3)
> x
[[1]]
[1] 1[[2]]
[1] 2[[3]]
[1] 3

我们重点看一下输出内容。这个内容变成了二维的。
[[1]]代表列表的第一个元素,[1]代表第一个元素里面的第一个元素。

2. 列表容纳不同类型的元素

在前面说了,list可以放下不同类型的元素。
我们用同样的数据创建一个列表:

x <- list(TRUE,"2","one","4",5)
> x
[[1]]
[1] TRUE[[2]]
[1] "2"[[3]]
[1] "one"[[4]]
[1] "4"[[5]]
[1] 5

发现TRUE和FALSE并没有被自动转化,而是保留了下来,这个list里面就有了两种类型的元素。

3.列表容纳其它原子向量或列表

直接看例子:

> x <- list(1,"one",c(1,2,3),list("one","two","three"))
> x
[[1]]
[1] 1[[2]]
[1] "one"[[3]]
[1] 1 2 3[[4]]
[[4]][[1]]
[1] "one"[[4]][[2]]
[1] "two"[[4]][[3]]
[1] "three"

我们可以看看这个列表的结构。
前两个值我们比较熟悉了。
从第三个开始:

[[3]]
[1] 1 2 3`

[[3]]代表列表的第三个值。
[1]代表列表第三个值里面的第一个值。从这里看出,向量被当成一个值对待的。

从第四个值,我们又看到不一样的地方了。

[[4]]
[[4]][[1]]
[1] "one"[[4]][[2]]
[1] "two"[[4]][[3]]
[1] "three"

[[4]]代表列表的第四个值。
[[4]][[1]]代表列表第四个值里面的第一个列表值。

列表取子集

列表取子集有三种方式,我们用下面这个列表来操作:

> x <- list(a=1:3,b="a string", c=pi,d =list(-1,-5))
> pi
[1] 3.141593

看一下这个列表的构成。
list的第一个值$a是一个向量,$b是一个字符串,$c是一个常量,$d是一个列表。
我们可以有以下方式取子集:

第一种:用整数数组
> x[c(1,2)]
$a
[1] 1 2 3$b
[1] "a string"
第二种:用$取。

如果list里面的值是有名字的,可以用$这个符号加名字来取值。

> x$d
[[1]]
[1] -1[[2]]
[1] -5
第三种:用[[]]来取内容值

我们从输出值能看出来,列表会用[[n]]这样一个符号代表列表的第n个值。
我们来看看下面两个的区别:

> x[[3]]
[1] 3.141593
> x[3]
$c
[1] 3.141593

从这里看出[[]]会深入到更深一层的数据,而[]只是从list中取一个值。
我们尤其可以通过下面的例子对比一下[]和[[]]。

> x[[4]]
[[1]]
[1] -1[[2]]
[1] -5> x[[4]][1]
[[1]]
[1] -1> x[[4]][[1]]
[1] -1

相关文章:

R语言中的列表list

基础 在R语言中的最常用的向量有两种&#xff1a; 第一种&#xff0c;原子向量 像字符型向量&#xff0c;数值型向量&#xff0c;逻辑型向量这些&#xff0c;它们共有的一个特点是&#xff0c;向量里面的值是同质的。当你用数值型向量时&#xff0c;里面所有值都是数值型的。…...

10、有条件提前退出关键字Return From Keyword If【robot framework】

在 Robot Framework 中&#xff0c;Return From Keyword If 是一个有用的关键字&#xff0c;它允许你在特定条件下从关键字中返回。这在需要在满足某个条件时提前退出关键字的情况下特别有用。 以下是 Return From Keyword If 的语法和使用示例&#xff1a; 语法 Return From…...

JAVA开发的一套(智造制造领航者云MES系统成品源码)saas云MES制造执行系统源码,全套源码,支持二次开发

JAVA开发的一套&#xff08;智造制造领航者云MES系统成品源码&#xff09;saas云MES制造执行系统源码&#xff0c;全套源码&#xff0c;支持二次开发 1990年11月&#xff0c;美国先进制造研究中心AMR&#xff08;Advanced Manufacturing Research&#xff09;就提出了MES&#…...

探究JSON和XML:两种常见的数据交换格式之异同

在软件开发和数据交换领域&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;和XML&#xff08;eXtensible Markup Language&#xff09;是两种广泛使用的数据交换格式。它们都具有将数据结构化并在不同系统之间进行传输和解析的能力&#xff0c;但在实际应用…...

SQL查询的优化方案

SQL查询优化是一个重要的数据库管理任务&#xff0c;它可以帮助提升查询性能&#xff0c;减少响应时间和系统资源消耗。以下是一些关键的优化策略及其示例&#xff1a; 1. 使用索引 (Indexing) 优化说明: 索引能够显著加快数据检索速度&#xff0c;特别是对于大表上的查询。为…...

【C语言题解】1、写一个宏来计算结构体中某成员相对于首地址的偏移量;2、写一个宏来交换一个整数二进制的奇偶位

&#x1f970;欢迎关注 轻松拿捏C语言系列&#xff0c;来和 小哇 一起进步&#xff01;✊ &#x1f308;感谢大家的阅读、点赞、收藏和关注 &#x1f495;希望大家喜欢我本次的讲解&#x1f495; 目录&#x1f451; 1、写一个宏&#xff0c;计算结构体中某变量相对于首地址的偏…...

LabVIEW阀性能试验台测控系统

本项目开发的阀性能试验台测控系统是为满足国家和企业相关标准而设计的&#xff0c;主要用于汽车气压制动系统控制装置和调节装置等产品的综合性能测试。系统采用工控机控制&#xff0c;配置电器控制柜&#xff0c;实现运动控制、开关量控制及传感器信号采集&#xff0c;具备数…...

Flutter 中的 LayoutBuilder 小部件:全面指南

Flutter 中的 LayoutBuilder 小部件&#xff1a;全面指南 Flutter 是一个功能丰富的 UI 框架&#xff0c;它允许开发者使用 Dart 语言来构建高性能、美观的跨平台应用。在 Flutter 的布局系统中&#xff0c;LayoutBuilder 是一个强大的组件&#xff0c;它可以根据父容器的约束…...

webman中创建udp服务

webman是workerman的web开发框架 可以很容易的开启udp服务 tcp建议使用gatewayworker webman GatewayWorker插件 创建udp服务: config/process.php中加入: return [// File update detection and automatic reloadmonitor > [ ...........], udp > [handler > p…...

Vue 学习笔记 总结

Vue.js 教程 | 菜鸟教程 (runoob.com) 放一下课上的内容 Vue练习 1、练习要求和实验2的用户注册一样&#xff0c;当用户输入后&#xff0c;能在下方显示用户输入的各项内容&#xff08;不需要实现【重置】按钮&#xff09; 2、实验报告中的实验小结部分来谈谈用JS、jQuery和…...

云计算导论(3)---分布式文件系统

文章目录 1. 概述2. 基本架构3. GFS和HDFS4. 云存储 1. 概述 1. 文件系统是操作系统用来组织磁盘文件的方法和数据结构。  传统的文件系统指各种UNIX平台的文件系统&#xff0c;包括UFS等&#xff0c;它们管理本地的磁盘存储资源&#xff0c;提供文件到存储位置的映射&#xf…...

后端进阶-分库分表

文章目录 为什么需要分库为什么需要分表 什么时候需要分库分表只需要分库只需要分表 分库分表解决方案垂直分库水平分库垂直分表水平分表 分库分表常用算法范围算法hash分片查表分片 分库分表模式客户端模式代理模式 今天跟着训练营学习了分库分表&#xff0c;整理了学习笔记。…...

Apple开发者应用商店(AppStore)描述文件及ADHOC描述文件生成

创建AD HOC描述文件 1.选中Profiles,然后点击加号创建 2.创建已注册设备可安装描述文件 3.选择要注册的id 4.选择证书 5.选择设备 6.输入文件名,点击生成 7.生成成功,点击下载...

【Git】修改设置 git 的 username、email

设置全局的本地用户名称和用户邮箱 参考&#xff1a;使用git config --global设置用户名和邮件 git config --global user.name "xxx" git config --global user.email "xxx.com"git config --list git config命令的–global参数&#xff0c;用了这个参数…...

python脚本打包为exe并在服务器上设置定时执行

python脚本打包为exe并在服务器上设置定时执行 1. Python脚本打包2. 将打包好的Python脚本放入服务器3. 在服务器上设置其定时执行 1. Python脚本打包 首先&#xff0c;下载pyinstaller 键盘winR打开终端&#xff0c;输入命令&#xff1a;pip install pyinstaller&#xff0c;…...

STM32-呼吸灯仿真

目录 前言: 一.呼吸灯 二.跑马灯 三. 总结 前言: 本篇的主要内容是关于STM32-呼吸灯的仿真,包括呼吸灯,跑马灯的实现与完整代码,欢迎大家的点赞,评论和关注. 接上http://t.csdnimg.cn/mvWR4 既然已经点亮了一盏灯,接下来就可以做更多实验了, 一.呼吸灯 在上一个的基础上…...

【AI基础】第三步:纯天然保姆喂饭级-安装并运行chatglm2-6b

chatglm2构建时使用了RUST&#xff0c;所以在安装chatglm2之前&#xff0c;先安装RUST。 此系列文章列表&#xff1a; 【AI基础】第一步&#xff1a;安装python开发环境-windows篇_下载安装ai环境python-CSDN博客 【AI基础】第一步&#xff1a;安装python开发环境-conda篇_mini…...

Spring Security系列之Handler

概述 与Spring、Spring MVC、Spring Boot一样&#xff0c;Spring Security里也有很多Handler接口、可以分为两大类&#xff0c;一类是普通的XxxHandler&#xff08;见名知意&#xff09;&#xff0c;另一类是对应的ServerXxxHandler&#xff08;RequestRejectedHandler除外&am…...

Thinkphp使用Elasticsearch查询

在Thinkphp中调用ES&#xff0c;如果自己手写json格式的query肯定是很麻烦的。我这里使用的是ONGR ElasticsearchDSL 构建 ES 查询。ongr ElasticsearchDSL 的开源项目地址&#xff1a;GitHub - ongr-io/ElasticsearchDSL: Query DSL library for Elasticsearch。ONGR Elastics…...

开源日志分析平台ELK实战应用

1.开源日志分析平台ELK概述及搭建过程 ELK 是一个开源的日志管理平台,由 Elasticsearch、Logstash 和 Kibana 三个组件组成。这个平台广泛用于实时日志处理和分析。下面简单介绍一下每个组件的作用以及如何搭建一个基本的 ELK 栈。 ELK 组件 Elasticsearch:是一个搜索和分析…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill

视觉语言模型&#xff08;Vision-Language Models, VLMs&#xff09;&#xff0c;为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展&#xff0c;机器人仍难以胜任复杂的长时程任务&#xff08;如家具装配&#xff09;&#xff0c;主要受限于人…...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

智警杯备赛--excel模块

数据透视与图表制作 创建步骤 创建 1.在Excel的插入或者数据标签页下找到数据透视表的按钮 2.将数据放进“请选择单元格区域“中&#xff0c;点击确定 这是最终结果&#xff0c;但是由于环境启不了&#xff0c;这里用的是自己的excel&#xff0c;真实的环境中的excel根据实训…...

C++ Saucer 编写Windows桌面应用

文章目录 一、背景二、Saucer 简介核心特性典型应用场景 三、生成自己的项目四、以Win32项目方式构建Win32项目禁用最大化按钮 五、总结 一、背景 使用Saucer框架&#xff0c;开发Windows桌面应用&#xff0c;把一个html页面作为GUI设计放到Saucer里&#xff0c;隐藏掉运行时弹…...