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

目录

一、矩阵与数组

二、列表

三、数据框

四、因子

五、缺失数据

六、字符串

七、日期和时间

参考


一、矩阵与数组

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.rhkb.cn/news/222142.html

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

相关文章

基于JAVA的海南旅游景点推荐系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…

如何选择适合的UI自动化测试工具

随着软件开发项目的复杂性增加&#xff0c;UI自动化测试成为确保应用程序质量的关键步骤之一。然而&#xff0c;在选择UI自动化测试工具时&#xff0c;开发团队需要考虑多个因素&#xff0c;以确保选取的工具适用于项目需求并提供可靠的测试结果。 1. 了解项目需求 在选择UI自动…

百度侯震宇详解:大模型将如何重构云计算?

12月20日&#xff0c;在2023百度云智大会智算大会上&#xff0c;百度集团副总裁侯震宇以“大模型重构云计算”为主题发表演讲。他强调&#xff0c;AI原生时代&#xff0c;面向大模型的基础设施体系需要全面重构&#xff0c;为构建繁荣的AI原生生态筑牢底座。 侯震宇表示&…

Android蓝牙协议栈fluoride(八) - 音乐播放与控制(1)

概述 通常情况下音乐播放与控制这两个profile(即A2DP和AVRCP)都是同时存在的&#xff0c;A2DP分为Sink(SNK)和Source(SRC)两个角色&#xff0c;ACRVP分为Controller(CT)和Target(TG)两个角色。接下来的几篇博客将详细介绍这两个profile。 Sink和Source、CT和TG都是成对出现的。…

智能优化算法应用:基于梯度算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于梯度算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于梯度算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.梯度算法4.实验参数设定5.算法结果6.参考文献7.MA…

vue中最重要的点,双向数据绑定是什么?

一、什么是双向绑定 我们先从单向绑定切入单向绑定非常简单&#xff0c;就是把Model绑定到View&#xff0c;当我们用JavaScript代码更新Model时&#xff0c;View就会自动更新双向绑定就很容易联想到了&#xff0c;在单向绑定的基础上&#xff0c;用户更新了View&#xff0c;Mo…

多维时序 | MATLAB实现BiTCN-Multihead-Attention多头注意力机制多变量时间序列预测

多维时序 | MATLAB实现BiTCN-Multihead-Attention多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现BiTCN-Multihead-Attention多头注意力机制多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 多维时序 | MATLAB实现BiTCN-Multihea…

vp与vs联合开发-串口通信

模拟串口通信 1.配置虚拟串口驱动 winform 实现串口通信 1.模拟串口和winform程序通信 2.模拟串口通信 控制拍照功能

ubuntu保存分辨率失效解决办法

在VM虚拟机中&#xff0c;遇到修改ubuntu分辨率后&#xff0c;重启后又重置的解决办法。 目前我的ubuntu版本是&#xff1a;ubuntu 18.04.6 版本。 1.首先&#xff0c;在你喜欢的目录建立一个.sh 脚本文件。 终端执行命令&#xff1a;sudo vim xrandr.sh 2.按 i 进入编辑状…

【数据结构】五、数组与广义表

目录 一、定义 二、计算数组元素地址 三、稀疏矩阵快速转置 稀疏矩阵的表示 稀疏矩阵快速转置 四、广义表 一、定义 我们所熟知的一维、二维数组的元素是原子类型。广义表中的元素除了原子类型还可以是另一个线性表。当然所有的数据元素仍然属于同一类型。 这里的数组可…

VSCode安装PYQT5

安装PYQT5 pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple 获得Python环境位置 查看函数库安装位置 pip show 函数库名 通过查询函数库&#xff0c;了解到python安装位置为 C:\User…

在 Kubernetes 上部署 Python 3.7、Chrome 和 Chromedriver(版本 114.0.5735.90)的完整指南

一、构建基础镜像 docker build -f /u01/isi/DockerFile . -t thinking_code.com/xhh/crawler_base_image:v1.0.2docker push thinking_code.com/xhh/crawler_base_image:v1.0.2 二、K8s运行Pod 三、DockerFile文件 # 基于镜像基础 FROM python:3.7# 设置代码文件夹工作目录…

泛微e-cology XmlRpcServlet文件读取漏洞复现

漏洞介绍 泛微新一代移动办公平台e-cology不仅组织提供了一体化的协同工作平台,将组织事务逐渐实现全程电子化,改变传统纸质文件、实体签章的方式。泛微OA E-Cology 平台XmRpcServlet接口处存在任意文件读取漏洞&#xff0c;攻击者可通过该漏洞读取系统重要文件 (如数据库配置…

python编程(1)之通用引脚GPIO使用

在之前的章节中&#xff0c;小编带领大家学习了&#xff1a;如何构建esp32的python开发环境-CSDN博客 今天小编带领大家开始学习python编程的第一节&#xff0c;通用引脚。esp32c3核心板是一个高度集成&#xff0c;功能丰富的模块&#xff0c;来看下他的功能分布&#xff1a; 我…

【小黑嵌入式系统第十一课】μC/OS-III程序设计基础(一)——任务设计、任务管理(创建基本状态内部任务)、任务调度、系统函数

上一课&#xff1a; 【小黑嵌入式系统第十课】μC/OS-III概况——实时操作系统的特点、基本概念&#xff08;内核&任务&中断&#xff09;、与硬件的关系&实现 文章目录 一、任务设计1.1 任务概述1.2 任务的类型1.2.1 单次执行类任务&#xff08;运行至完成型&#…

centos7安装开源日志系统graylog5.1.2

安装包链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1Zl5s7x1zMWpuKfaePy0gPg?pwd1eup 提取码&#xff1a;1eup 这里采用的shell脚本安装&#xff0c;脚本如下&#xff1a; 先使用命令产生2个参数代入到脚本中&#xff1a; 使用pwgen生成password_secret密码 …

Linux之进程(五)(进程控制)

目录 一、进程创建 1、fork函数创建进程 2、fork函数的返回值 3、fork常规用法 4、fork调用失败的原因 二、进程终止 1、进程终止的方式 2、进程退出码 3、进程的退出方法 三、进程等待 1、进程等待的必要性 2、wait函数 3、waitpid函数 四、进程程序替换 1、概念…

利用ffmpeg cv2取h265码流视频(转换图片灰屏问题解决)

利用海康威视相机拍出来的视频是H265格式的&#xff0c;相比于常规的H264编码&#xff0c;压缩率更高&#xff0c;但因此如果直接用正常取流方法读取&#xff0c;会出现无法读取的情况 1. 如图h265码流取出图片为灰屏 2 、解决灰屏问题 import subprocess import cv2# 将h265流…

100GPTS计划-AI学术AcademicRefiner

地址 https://chat.openai.com/g/g-LcMl7q6rk-academic-refiner https://poe.com/AcademicRefiner 测试 减少相似性 增加独特性 修改http://t.csdnimg.cn/jyHwo这篇文章微调 专注于人工智能、科技、金融和医学领域的学术论文改写&#xff0c;秉承严格的专业和学术标准。 …

使用opencv实现图像中几何图形检测

1 几何图形检测介绍 1.1 轮廓(contours) 什么是轮廓&#xff0c;简单说轮廓就是一些列点相连组成形状、它们拥有同样的颜色、轮廓发现在图像的对象分析、对象检测等方面是非常有用的工具&#xff0c;在OpenCV 中使用轮廓发现相关函数时候要求输入图像是二值图像&#xff0c;这…