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

2023-12-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语言入门与数据分析

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R语言——基本操作(二) 的相关文章

随机推荐

  • javafx实现图形编辑器

    下面是一个简单的示例 使用JavaFX实现了一个基本的图形编辑器 可以绘制矩形和圆形 import javafx application Application import javafx scene Scene import javafx
  • java实现回文数算法

    判断一个数是否为回文数可以使用以下算法 将数字转化为字符串 初始化左右两个指针 分别指向字符串的首尾 循环比较左右指针指向的字符 如果相等则继续比较 直到左右指针相遇或者发现不相等的字符为止 如果左右指针相遇 则说明数字是回文数 返回tru
  • 分页查询,order by,where用法

    一 查询数据库ESS的Elog表格的ETime Des列 查询出的结果只显示这两列 SELECT E LOG ETime E LOG Des ROWNUM rn FROM ESS E LOG 二 分页查询ROWNUM 用法 rn变量 行号
  • 【已解决】CString与int互相转化

    本博文源于笔者在mfc下进行编码时遇到的一个问题 算是原创也算是转载 因为借鉴别人的思路 自己又转述罢了 之前看用atoi发现不行 最后用了 ttoi解决 int转化为CString CString tmp int i 5 tmp Form
  • Plist编辑器:PlistEdit Pro中文

    PlistEdit Pro是一款功能强大的plist文件编辑软件 旨在提供简单而强大的方式来修改和管理Mac OS X的配置文件 它具有直观的用户界面和丰富的功能 让你可以轻松地编辑和管理plist文件 PlistEdit Pro支持对各种
  • 【taro react】---- 解决 iOS 真机微信小程序 Input 密码框 type 切换会导致 Input 内容丢失问题

    1 问题场景 在密码登陆时 有显示和隐藏密码的功能 实现方式很简单 直接对输入 input 的 type 进行 password 和 text 值进行切换 就可以实现密码的显示和隐藏 2 实现代码 通过修改 input 的 type 值实现
  • 【taro react】---- 解决 taro 编译 H5 姓名脱敏导致的 iOS 部分低版本白屏问题

    1 姓名脱敏方法 判断传入字段是否是字符串 将字符串除第一个字符后的其他字符全部替换为 const replaceUserName name gt if isTypingMathods isString name return name r
  • 【已解决】vs2015下QtnetWork No Such File or Directory报错

    源于笔者在做qt工具时 遇到的一个问题 问题很直观 加载第三方文件时 第三方文件调用了 include
  • Goby 漏洞发布| Apusic 应用服务器 createDataSource 远程代码执行漏洞

    漏洞名称 Apusic 应用服务器 createDataSource 远程代码执行漏洞 English Name Apusic Application Server loadTree Remote Code Execution Vulner
  • Hamming space

    汉明距离表示两个相同长度字符串对应位置的不同字符的数量 对两个字符串异或运算 并统计1的个数并相减 这个数就是汉明距离
  • Tomcat远程调试

    windows环境 写一个 startup debug bat 指定tomcat的根目录 端口自己定义 rem 设置Tomcat目录 set CATALINE HOME D asd A8 2 tomcat d rem 8787为可用端口 为
  • 互联网加竞赛 python+深度学习+opencv实现植物识别算法系统

    0 前言 优质竞赛项目系列 今天要分享的是 基于深度学习的植物识别算法研究与实现 学长这里给一个题目综合评分 每项满分5分 难度系数 4分 工作量 4分 创新点 4分 更多资料 项目分享 https gitee com dancheng s
  • test和我说过

    27车型管理 年代需提示 SOP当年时间 且只显示两位数 如2024只最示24未部署生产 29车型管理 网络选项值不全未部署生产 31车型管理 系统需限制车型计划开始时间与结束时间需包含在车型管理开始时间与结束时间之间未部署uat 需要提手
  • MySQL SELECT:数据表查询语句

    在 MySQL 中 可以使用 SELECT 语句来查询数据 查询数据是指从数据库中根据需求 使用不同的查询方式来获取不同的数据 是使用频率最高 最重要的操作 SELECT 的语法格式如下 SELECT lt 字段列名 gt FROM lt
  • 速通Python基础语法--运算符篇

    一 算术运算符 优先级 除法的2个问题 除零异常 运行时才出现的错误 叫做 抛出异常 如果程序运行过程中 抛出异常 程序就会直接终止 后面的代码不会执行 除法的 不 截断问题 取模 求余数 乘方 开方 向下 小 取整 地板除 二 关系运算符
  • 基于python的超市购物系统的设计与实现

    摘 要 随着国内市场经济这几十年来的蓬勃发展 突然遇到了从国外传入国内的互联网技术 互联网产业从开始的群众不信任 到现在的离不开 中间经历了很多挫折 从当初的传统销售行业抵制互联网销售 到现在传统销售与网络销售的结合模式 都代表着网络购物是
  • 【计算机毕设文章】传染病防控宣传系统小程序

    设计题目 传染病防控宣传系统的设计与实现 摘 要 由于APP软件在开发以及运营上面所需成本较高 而用户手机需要安装各种APP软件 因此占用用户过多的手机存储空间 导致用户手机运行缓慢 体验度比较差 进而导致用户会卸载非必要的APP 倒逼管理
  • 【计算机毕设文章】微信互助学习平台

    微信互助学习平台 摘要 随着信息技术在管理上越来越深入而广泛的应用 管理信息系统的实施在技术上已逐步成熟 本文介绍了微信互助学习平台的开发全过程 通过分析微信互助学习平台管理的不足 创建了一个计算机管理微信互助学习平台的方案 文章介绍了微信
  • Java版工程行业管理系统源码-专业的工程管理软件- 工程项目各模块及其功能点清单

    工程项目管理软件是现代项目管理中不可或缺的工具 它能够帮助项目团队更高效地组织和协调工作 本文将介绍一款功能强大的工程项目管理软件 该软件采用先进的Vue Uniapp Layui等技术框架 涵盖了项目策划决策 规划设计 施工建设到竣工交付
  • R语言——基本操作(二)

    目录 一 矩阵与数组 二 列表 三 数据框 四 因子 五 缺失数据 六 字符串 七 日期和时间 参考 一 矩阵与数组 matrix 创建矩阵 nrow 和 ncol 可以省略 但其值必须满足分配条件 否则会报错 只写一个值则自动分配 默认按