R语言——基本操作(二)

news2024/11/25 15:26:20

目录

一、矩阵与数组

二、列表

三、数据框

四、因子

五、缺失数据

六、字符串

七、日期和时间

参考


一、矩阵与数组

matrix:创建矩阵,nrow 和 ncol 可以省略,但其值必须满足分配条件,否则会报错

只写一个值则自动分配,默认按列分配

byrow属性可以控制矩阵按行排列

dimnames(m):定义矩阵行和列的名字

dim(x):输出x的维度

dim(x) <- c(2,5):为 x 添加维度(创建数组),三个数字则为三维数组

array函数创建数组

array(1:24, c(2,3,4), dimnames=list(dim1, dim2, dim3)):1:24表示向量,c(2,3,4)为设置的维度,dimnames=list(dim1, dim2, dim3))为每个维度的名字

输出为:

矩阵的索引

m[2,3]:索引第二行第三列的元素

m[2,c(3,4,5)]:索引第二行,第三四五列的元素

m[c(1,2), c(3:5)]:取矩阵一二行中的三四五列

m[2,]:取第二行

m[,2]:取第二列

m[2]:取第二行第一个元素

m['R1', 'C2']:

矩阵的运算:对矩阵中的每个元素进行运算

直接计算矩阵的函数

colSums(x):计算矩阵每一列的和

rowSums(x):计算矩阵每一行的和

colMeans(x):计算矩阵每一列的均值

m*n:为矩阵的内积 

m%*%n:为矩阵的外积

diag(x):返回矩阵x对角线位置的值

t(x):对矩阵进行转置

二、列表

生成列表

访问列表中的一个活多个元素

为每个对象添加名称

使用属性名访问列表元素

使用一个“[ ]”输出的是列表,两个“[ ]”输出的是元素本身

给列表添加值

添加新值要用 “ [[ ]] ”

删除列表中的元素:使用负索引的方式

或者将元素值赋值为 “NULL”

“ [ ] ” 和 “ [[ ]] ” 的区别:

三、数据框

        数据框是一种表格形式的数据结构,数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量。

        数据框实际上是一个列表,列表中的元素是向量,这些向量构成数据框的列,每一列必须具有相同的长度,所以数据框是矩形结构,而且数据框的列必须命名。

矩阵与数据框的区别:数据框形状很想矩阵;数据框是比较规则的列表;矩阵必须为同一数据类型;数据框每一列必须为同一类型,每一行可以不同。

创建数据框

数据框的访问:通过索引访问数据

取出对应的列

取出对应的行

使用 “$” 的方式可以快速取出一列

使用数据框的多列数据,attach加载数据框,使用完后用 detach 释放

使用with根据列名获取数据

四、因子

变量分类:名义型变量、有序型变量、连续型变量

在R中,名义型变量和有序型变量被称为因子,这些分类变量的可能值称为一个水平,例如good、better、best都称为一个水平。

这些水平值构成的向量就称为因子。因子本身是向量的集合。

因子的应用:计算频数,独立性检验,相关性检验,方差分析,主成分分析,因子分析。。。

mtcars中的cyl是一个向量,table是对其做频数统计

factor(vector):定义因子 

定义因子中水平的顺序

将向量转化为因子

向量和因子输出的plot有什么区别

plot(mtcars$cyl):输出散点图 

plot(factor(mtcars$cyl)):输出条形图

cut(vector):将一个连续型数据按level分类

五、缺失数据

在R中, NA代表缺失值,NA是不可用,not available的简称,用来存储缺失信息。

NA表示未知,不知道是几,也不知道有几个数。

定义 na.rm = T 就可以计算有效值,表示去除NA值

验证是否有NA值,有则在对应位置返回TRUE

na.omit():去除缺失值,如果omit应用于数据框,则是将包含NA的每一行都删除。

缺失值的专门处理方式:

缺失数据NaN,代表不可能的值。

Inf表示无穷,分为正无穷和负无穷,代表无穷大和无穷小。

1/0,0不能做除数,所以输出不可能的数。

不同缺失值之间的差别

1.NA是存在的值,但是不知道是多少

2.NaN是不存在的

3.Inf存在,是无穷大或者无穷小,但是表示不可能的值。

六、字符串

正则表达式

nchar:统计字符串的长度,空格也算一个字符串

nchar():返回向量中每个元素的长度

length():返回向量中的元素个数

paste():将多个字符串合并为一个

使用 “sep”设置分隔符

向量和字符串的连接,向量中的每个元素都和字符串相连

substr(string, start, stop):提取子字符串

toupper(string):将字符串转化为大写

tolower(string):将字符串转化为小写

首字母大写

首字母小写

grep():查找字符串

在x中查找“A+”,若fixed为TRUE,则表示在x中查找“A+”,若fixed为FALSE,则表示在x中查找以“A”开头的字符串,“+”表示匹配任意字符。

也可用 match 进行匹配

strsplit(string, 分隔符):分割字符串,返回的值是一个列表

strsplit可以对多个向量进行分割

outer():生成两个字符串之间的所有组合,paste表示连接两个字符串, sep设置连接符,默认为空格

七、日期和时间

Sys.Date():系统当前时间

as.Date():定义一个时间类型,使用 “?strftime” 命令可以查看格式化参数

seq(start, end, step):创建连续的时间点

ts():生成时间序列,frequenc为12表示以年为单位,为4表示以季度为单位

参考

R语言入门与数据分析

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

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

相关文章

用CSDN训练的InsCode AI创作博文:数据治理体系建设

想不想用AI帮我们写方案&#xff1f; 想尝试用CSDN提供的InsCode AI创作助手协助我们进行技术方案的创作&#xff0c;看看效果如何&#xff0c;能不能辅助我们日常的方案编写与创作&#xff1f;以前用ChatGPT也尝试过&#xff0c;但对于专业性更强的内容&#xff0c;还有表现的…

企业知识库与企业文化:相互影响与共同发展

在当今知识经济的时代&#xff0c;企业知识库和企业文化已经成为企业核心竞争力的重要组成部分。它们之间相互影响&#xff0c;共同发展&#xff0c;为企业的发展提供强大的支撑。本文将探讨企业知识库与企业文化之间的关系&#xff0c;以及如何通过相互促进&#xff0c;推动企…

Windows漏洞利用开发——利用ROP绕过DEP保护

实验6 Windows漏洞利用开发 6.1实验名称 Windows漏洞利用开发 6.2实验目的 学习windows漏洞利用开发&#xff0c;使用kali linux相关工具对windows内目标程序进行漏洞利用 6.3实验步骤及内容 第三阶段&#xff1a;利用ROP绕过DEP保护 了解DEP保护理解构造ROP链从而绕过DEP…

【习题】运行Hello World工程

判断题 1. DevEco Studio是开发HarmonyOS应用的一站式集成开发环境。 正确(True)错误(False) 正确(True) 2. main_pages.json存放页面page路径配置信息。 正确(True)错误(False) 正确(True) 单选题 1. 在stage模型中&#xff0c;下列配置文件属于AppScope文件夹的是&am…

详解现实世界资产(RWAs)

区块链中的现实世界资产&#xff08;RWAs&#xff09;是代表实际和传统金融资产的数字通证&#xff0c;如货币、大宗商品、股票和债券。 实际世界资产&#xff08;RWA&#xff09;的通证化是区块链行业中最大的市场机会之一&#xff0c;潜在市场规模可达数万万亿美元。理论上&…

【Pytorch】学习记录分享7——PyTorch数据增强/经典网络架构训练图像分类模型

【Pytorch】学习记录分享7——PyTorch 1. 数据增强、transform 模块数据预处理部分&#xff1a;网络模块设置&#xff1a;网络模型保存与测试 2. 迁移学习3. 参考pytorch官网例子 1. 数据增强、transform 模块 数据预处理部分&#xff1a; 数据增强&#xff1a;torchvision中…

MySQL高级应用-2

MySQL高级应用-2 1事务应用场景:以上三个场景的共同点是什么&#xff1f;事务的概念&#xff1a;事务特性ACIDMySQL事务控制实例演示示例 1示例 2 拓展&#xff1a;事务的隔离级别作用JAVA处理事务-模拟转账 2 自定义变量用户变量示例&#xff1a;局部变量示例 3 流程控制结构分…

JavaWeb笔记之WEB项目

一. 版本控制 版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理&#xff0c;是软件配置管理的核心思想之一。 版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变&a…

C# SqlSugar 数据库 T4模板

生成效果 模板代码 <# template debug"false" hostspecific"true" language"C#" #> <# output extension".cs" #> <# assembly name"System.Core" #> <# assembly name"System.Data" #>…

Ubuntu 22.04.3 Server通过修改yaml配置文件方法设置静态IP

目录 1.查看网卡信息 2.修改yaml配置文件 3.应用新的网络配置 4.重新启动网络服务 文章内容 本文介绍Ubuntu 22.04.3 Server系统通过修改yaml配置文件配置静态 ip 的方法。 1.查看网卡信息 使用ifconfig命令查看网卡信息获取网卡名称​ 如果出现Command ifconfig not fo…

41 sysfs 文件系统

前言 在 linux 中常见的文件系统 有很多, 如下 基于磁盘的文件系统, ext2, ext3, ext4, xfs, btrfs, jfs, ntfs 内存文件系统, procfs, sysfs, tmpfs, squashfs, debugfs 闪存文件系统, ubifs, jffs2, yaffs 文件系统这一套体系在 linux 有一层 vfs 抽象, 用户程序不用…

【眼镜】相关知识

眼镜相关 配眼镜可以事先了解的事情&#xff1a; 折射率&#xff1a;先说结论&#xff0c;高度数可以考虑选高折射率&#xff0c;低度数没必要。 折射率&#xff1a;1.50折射率 1.56折射率 1.60折射率 1.67折射率 1.71折射率 1.74折射率. 折射率越高&#xff0c;镜片越薄&a…

C语言--if...else语句【语法讲解】

一.if...else语句的介绍 if…else 语句是编程中常用的一种分支语句&#xff0c;用于根据条件执行不同的操作。 它的基本语法如下&#xff1a; if (条件表达式) {// 当条件表达式为真时执行的代码块 } else {// 当条件表达式为假时执行的代码块 } 当条件表达式为真时&#xff…

PWM/PFM 自动切换升压型转换器系统(一)

通过对芯片整体设计要求的考虑&#xff0c;搭建全负载高效率升压型 DC-DC 转换器的整体系 统框架&#xff0c;对系统的工作过程和模块电路的功能进行简要阐述&#xff0c;对外围电路的选取进行准确计 算&#xff0c;分析系统的损耗来源&#xff0c;实现高效率的设计目标。 芯片…

电商数仓项目----笔记七(数仓DIM层)

所谓的维度层其实就是分析数据的角度&#xff0c;维度层保存的表其实是分析数据的角度&#xff0c;比如&#xff1a; --性别&#xff0c;年龄&#xff0c;品牌&#xff0c;品类 这层的表主要用于统计分析&#xff0c;因此DIM层的数据存储格式为orc列式存储snappy压缩&#xff…

细粒度语义对齐

抽象 大规模的视觉语言预训练在广泛的下游任务中显示出令人印象深刻的进展。现有方法主要通过图像和文本的全局表示的相似性或对图像和文本特征的高级跨模态关注来模拟跨模态对齐。然而&#xff0c;他们未能明确学习视觉区域和文本短语之间的细粒度语义对齐&#xff0c;因为只有…

Spring系列学习一、Spring框架的概论

Spring框架的概论 一、 Spring框架的起源与历史二、 Spring框架的核心理念与特点三、 Spring与其他框架的对比1、首先介绍下Spring与其平替的EJB的对比&#xff1a;2、接下来介绍下Spring与基于Java EE原生技术的对比3、Spring与Hibernate的对比4、Spring与Struts的对比 四、Sp…

docker的基本管理和相关概念

docker的基本管理和概念 docker&#xff1a;开源的应用容器引擎。基于go语言开发的。运行在linux系统当中的开源的&#xff0c;轻量级的“虚拟机” docker的容器技术可以在一台主机上轻松的为任何应用创建一个轻量级的&#xff0c;可移植的&#xff0c;自给自足的容器 docke…

计算机网络——数据链路层(三)

前言: 前面我们已经对计算机网络的物理层有了一个大概的了解&#xff0c;今天我们学习的是物理层服务的上一层数据链路层&#xff0c;位于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务&#xff0c;其最基本的服务是将源自物理层来的数据可靠地传…

RabbmitMQ基础

RabbmitMQ基础 1.1 什么是MQ MQ(Message Queue)&#xff0c;从字面意思看&#xff0c;本质是个队列&#xff0c;FIFO先入先出&#xff0c;队列中存放的是message。是一种跨进程的通信机制&#xff0c;用于上下游传递消息。在互联网架构中&#xff0c;MQ是一种非常常见的上下游…