R语言学习笔记10-向量-矩阵-数组-数据框-列表对比

R语言学习笔记10-向量-矩阵-数组-数据框-列表对比

  • 向量(Vector)
  • 矩阵(Matrix)
  • 数组(Array)
  • 数据框(Data Frame)
  • 列表(List)
  • 综合分析和对比

在R语言中,对于常用的数据结构:向量、矩阵、数组、数据框和列表,它们在数据处理和分析中各有不同的应用和特点,有时候在理解上会容易搞混,所以打算单独整理下他们的结构对比,用于加深理解

向量(Vector)

向量是R中最基本的数据结构,可存储相同类型的元素

  • 格式示例:
# 数值型向量
numeric_vector <- c(1, 2, 3, 4, 5)# 字符型向量
character_vector <- c("Alice", "Bob", "Charlie")
> numeric_vector
[1] 1 2 3 4 5
> character_vector
[1] "Alice"   "Bob"     "Charlie"
  • 特点:
    • 只能包含同一种数据类型的元素
    • 可以是数值型、字符型、逻辑型等

矩阵(Matrix)

矩阵是由相同数据类型的元素按行列组成的二维数据结构

  • 格式示例:
# 创建一个3行2列的数值型矩阵
numeric_matrix <- matrix(1:6, nrow = 3, ncol = 2)# 创建一个2行3列的字符型矩阵
character_matrix <- matrix(c("A", "B", "C", "D", "E", "F"), nrow = 2, ncol = 3)    
> numeric_matrix[,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6
> character_matrix[,1] [,2] [,3]
[1,] "A"  "C"  "E" 
[2,] "B"  "D"  "F" 
  • 特点:
    • 所有元素必须是相同的数据类型
    • 可以通过行和列来访问元素

数组(Array)

数组是由相同类型的元素组成的多维数据结构

  • 格式示例:
# 创建一个3维数组,每维度为2x2的数值型数组
numeric_array <- array(1:12, dim = c(2, 2, 3))
> numeric_array
, , 1[,1] [,2]
[1,]    1    3
[2,]    2    4, , 2[,1] [,2]
[1,]    5    7
[2,]    6    8, , 3[,1] [,2]
[1,]    9   11
[2,]   10   12
  • 特点:
    • 可以有多个维度,每个维度可以有不同的长度
    • 所有元素必须是相同的数据类型

数据框(Data Frame)

数据框是R中常用的二维表格型数据结构,类似于数据库中的表格,每列可以是不同类型的数据(例如数值、字符、因子等)

  • 格式示例:
# 创建一个数据框
df <- data.frame(name = c("Alice", "Bob", "Charlie"),age = c(25, 30, 28),gender = c("F", "M", "M")
)
> dfname age gender
1   Alice  25      F
2     Bob  30      M
3 Charlie  28      M
  • 特点:
    • 可以存储不同类型的数据
    • 列名可以用来访问列数据

列表(List)

列表是一种复合数据结构,可以包含不同类型的数据对象,每个元素可以是向量、矩阵、数据框或其他列表等

  • 格式示例:
# 创建一个列表
my_list <- list(numeric_vector = c(1, 2, 3),character_vector = c("Alice", 111, "Charlie"),numeric_matrix = matrix(1:4, nrow = 2),df = data.frame(name = c("Alice", "Bob"),age = c(25, 30))
)
> my_list
$numeric_vector
[1] 1 2 3$character_vector
[1] "Alice"   "Bob"     "Charlie"$numeric_matrix[,1] [,2]
[1,]    1    3
[2,]    2    4$dfname age
1 Alice  25
2   Bob  30
  • 特点:
    • 可以包含不同类型和结构的元素
    • 可以通过名称或索引来访问每个元素

综合分析和对比

  • 存储内容:

    • 向量、矩阵和数组主要用于存储数值、字符等基本数据类型
    • 数据框用于存储表格型数据,每列可以有不同的数据类型
    • 列表则是一种更为灵活的结构,可以混合存储各种数据类型和结构
  • 访问方式:

    • 向量、矩阵、数组通过索引来访问元素
    • 数据框通过列名或列索引来访问列数据
    • 列表通过名称或索引来访问每个元素,元素可以是任意R对象
  • 应用场景:

    • 使用向量、矩阵和数组进行数值计算和统计分析
    • 使用数据框进行数据整理、分析和可视化
    • 使用列表对复杂的数据结构进行管理和操作,适合于存储和传递不同类型的数据对象

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

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

相关文章

算法训练营第38天|1049. 最后一块石头的重量 II|494. 目标和|474.一和零

1049. 最后一块石头的重量 II 思路&#xff1a;本题思路为尽可能的将石头分成两堆。可以看成有一个容量为总和一半的背包&#xff0c;尽可能装满这个背包。 494. 目标和 思路&#xff1a;首先要把这道题转化为背包问题&#xff0c;这道题本质上是要将数组分成两个子集。其中一…

vue3 + antd + typeScript 封装一个高仿的ProTable(2)

前言 因为我想要一个类似ProTable高级组件的表单,但是查询之后发现没有,所以就自己写一个,这个版本会更加完善。 功能 1.封装表格request请求集中(分页、筛选、过滤),让功能使用起来更加简单 const sourceRequest = async (params:any, pagination:any, filters:any, …

java通过jwt生成Token

定义 JWT&#xff08;JSON Web Token&#xff09;简而言之&#xff0c;JWT是一个加密的字符串&#xff0c;JWT传输的信息经过了数字签名&#xff0c;因此传输的信息可以被验证和信任。一般被用来在身份提供者和服务提供者间传递被认证用户的身份信息&#xff0c;以便于从资源服…

React@16.x(60)Redux@4.x(9)- 实现 applyMiddleware

目录 1&#xff0c;applyMiddleware 原理2&#xff0c;实现2.1&#xff0c;applyMiddleware2.1.1&#xff0c;compose 方法2.1.2&#xff0c;applyMiddleware 2.2&#xff0c;修改 createStore 接上篇文章&#xff1a;Redux中间件介绍。 1&#xff0c;applyMiddleware 原理 R…

iOS——MRC与ARC以及自动释放池深入底层学习

MRC与ARC再回顾 在前面&#xff0c;我们简单学了MRC与ARC。MRC指手动内存管理&#xff0c;需要开发者使用retain、release等手动管理对象的引用计数&#xff0c;确保对象在必要时被释放。ARC指自动内存管理&#xff0c;由编译器自动管理对象的引用计数&#xff0c;开发者不需要…

基于深度学习的机器人控制

基于深度学习的机器人控制技术结合了深度学习模型和机器人操作&#xff0c;旨在提升机器人在复杂环境中的自适应能力和智能行为。这项技术在自动驾驶、工业自动化、医疗辅助等领域有着广泛的应用。以下是对这一领域的系统介绍&#xff1a; 1. 任务和目标 机器人控制的主要任务…

基于springboot和mybatis的RealWorld后端项目实战一之hello-springboot

新建Maven项目 注意archetype选择quickstart pom.xml 修改App.java App.java同级目录新增controller包 HelloController.java package org.example.controller;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotatio…

浅析stm32启动文件

浅析stm32启动文件 文章目录 浅析stm32启动文件1.什么是启动文件&#xff1f;2.启动文件的命名规则3.stm32芯片的命名规则 1.什么是启动文件&#xff1f; 我们来看gpt给出的答案&#xff1a; STM32的启动文件是一个关键的汇编语言源文件&#xff0c;它负责在微控制器上电或复位…

【简历】惠州某二本学院:前端简历指导,秋招面试通过率为0

注&#xff1a;为保证用户信息安全&#xff0c;姓名和学校等信息已经进行同层次变更&#xff0c;内容部分细节也进行了部分隐藏 简历说明 这是一份25届二本同学&#xff0c;投递前端职位的简历&#xff0c;那么在校招环节二本同学主要针对的还是小公司&#xff0c;这个学校因为…

LVS+Nginx高可用集群---搭建高可用集群负载均衡

1.LVS简介 Lvs(Linux Virtual Server)&#xff1a;使用集群&#xff0c;对于整个用户来说是透明&#xff0c;用户访问的时候是单个高性能的整体。道理与nginx类似 LVS网络拓扑图&#xff1a;是基于四层。 用户通过浏览器发送请求&#xff0c;然后到达LVS.Lvs根据相应算法将…

AI PC创造新商机,ISP与HPD集成单芯片方案受欢迎

今年以来&#xff0c;AI PC逐渐成为市场的焦点&#xff0c;因为AI PC给多年一成不变的PC市场带来了新的看点&#xff0c;也给了消费者升级的理由。今年是AI PC的元年&#xff0c;上半年不论是芯片厂商&#xff0c;还是PC厂商都在AI PC市场快速布局。AI PC相关的大模型、生态&am…

ollama + fastgpt 搭建免费本地知识库

目录 1、ollama ollama的一些操作命令: 使用的方式: 2、fastgpt 快速部署: 修改配置: config.json: docker-compose.yml: 运行fastgpt: 访问OneApi: 添加令牌和渠道: 登陆fastgpt,创建知识库和应用 3、总结: 附录: 1. 11434是ollama的端口: 2. m3e 测…

处理多维特征的输入(Multiple Dimension Input)

输入x有多个特征features&#xff0c;最终得到输出y的类别。 在上一节提到&#xff0c;左边是我们最开始了解的线性回归&#xff0c;右边是我们的logistics回归&#xff08;返回值为一个离散的集合&#xff09;。对于本节&#xff0c;就是在logistics回归输入x的基础上让其多一…

中伟视界:矿山智能化——AI引领创新,行车不行人检测算法实现实时预警,防范行车不行人事故发生

行车不行人检测AI分析算法通过利用人工智能和深度学习技术&#xff0c;对井下行人和车辆的行驶情况进行实时检测和识别。该算法在提升矿山安全管理、减少事故发生方面具有重要作用。本文将详细介绍该AI算法的识别过程、应用场景及其技术特点。 一、识别过程 行车不行人检测AI分…

LM算法与TRF算法(含有在ICP配准情境下的两种算法对应代码)

在 ICP 配准中,使用LM算法通常会遇到找到的对应点对数量不足的问题 因为使用 Levenberg-Marquardt (LM) 算法进行最小二乘优化时,残差的数量小于变量的数量。 实际应用: ICP配准过程:针对两个三维点云数据,两个点云上均有相互对应的3D关键点。我需要在每个点云上的每个关…

3 万字 25 道 Nginx经典面试题总结

&#x1f345; 作者简介&#xff1a;哪吒&#xff0c;CSDN2021博客之星亚军&#x1f3c6;、新星计划导师✌、博客专家&#x1f4aa; &#x1f345; 哪吒多年工作总结&#xff1a;Java学习路线总结&#xff0c;搬砖工逆袭Java架构师 &#x1f345; 技术交流&#xff1a;定期更新…

Hadoop安装报错

报错&#xff1a;ERROR 2023-03-09 21:33:00,178 NetUtil.py:97 - SSLError: Failed to connect. Please check openssl library versions. 解决方案: 在安装失败得客户端执行 编辑 /etc/python/cert-verification.cfg 配置文件&#xff0c;将 [https] 节的 verify 项 设为禁用…

怎么查看一个网站的ip地址?

1、使用nslookup nslookup 是一个网络诊断工具&#xff0c;用于查询域名系统&#xff08;DNS&#xff09;记录&#xff0c;将域名解析为IP地址&#xff0c;或者查询其他DNS记录类型&#xff0c;如MX&#xff08;邮件交换记录&#xff09;、CNAME&#xff08;别名记录&#xff…

css - - - - - 环形倒计时进度条实现

css - - - - - 环形倒计时进度条实现 1. 效果图展示2. 代码展示 1. 效果图展示 2. 代码展示 // html <view class"father"><view class"progress" style"--progress:{{red}}; --last:{{gray}}"></view> </view>// css …

推荐系统中的冷启动问题及其解决方案

目录 简介冷启动问题分类解决方案及实践方法1. 用户冷启动解决方案2. 物品冷启动解决方案3. 系统冷启动解决方案 结论 简介 推荐系统的冷启动问题是指在系统面临新用户或新物品时&#xff0c;无法有效地提供个性化推荐的挑战。这种情况下&#xff0c;系统缺乏足够的历史数据来…