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语言——基本操作(二) 的相关文章

  • python中热图的层次聚类

    我有一个 NxM 矩阵 其值范围为 0 到 20 我可以使用 Matplotlib 和 pcolor 轻松获得热图 现在我想使用 scipy 应用层次聚类和树状图 我想重新排序每个维度 行和列 以显示哪些元素相似 根据聚类结果 如果矩阵是方
  • ipdb 和 pdb++ 之间的区别?

    Python 有一个名为 pdb 的默认调试器 但社区创建了一些替代品 其中两个是ipdb https github com gotcha ipdb and pdb https github com pdbpp pdbpp 它们似乎迎合了相
  • 美丽的汤从谷歌搜索中提取href

    谷歌搜索给出了以下 HTML 的第一个结果 h3 class r a href https rads stackoverflow com amzn click com 0470284889 class l vst em Quantitati
  • 帮助需要在可选条件下编写正则表达式[关闭]

    我有一个日志文件包含如下内容 log Using data from yyyy mm dd 2011 8 3 0 files queued for scanning Warning E test H ndler pdf File not F
  • 在 Python 3 中动态导入模块的问题

    我遇到的情况是 在我的 Python 3 项目中 在运行时必须包含某些模块 我在用着importlib import module为了这 第二次更新 我确实找到了一种方法来做一些接近我想要的事情 一些额外的代码可能会使我的一些链接稍微偏离一
  • Python 使用 M2Crypto 通过 S/MIME 对消息进行签名

    我现在花了几个小时 但找不到我的错误 我想要一个简单的例程来创建 S MIME 签名消息 稍后可以与 smtplib 一起使用 这是我到目前为止所拥有的 usr bin python2 7 coding utf 8 from future
  • 将 matplotlib png 转换为 base64 以在 html 模板中查看

    背景 你好 我正在尝试制作一个简单的网络应用程序 按照教程计算阻尼振动方程 并将结果的 png 返回到 html 页面 然后将其转换为 Base64 字符串 Problem 该应用程序运行正常 只是在计算结果时返回损坏的图像图标 可能是因为
  • Pandas Pivot_Table :非数字值的行计算百分比

    这是我在数据框 df 中的数据 Document Name Time SPS2315511 A 1 HOUR SPS2315512 B 1 2 HOUR SPS2315513 C 2 3 HOUR SPS2315514 C 1 HOUR S
  • 如何使用 python 操作系统更改驱动器?

    我正在尝试更改当前目录C to Y 我试过 import os os chdir Y 但我不断收到错误消息 提示无法找到驱动器 本质上我正在寻找相当于 cd d cmd 中的命令 你确定吗Y 确实是有效的驱动器号吗 Try os chdir
  • 提交表格并上传带有请求的文件

    我正在努力提交特定的表格蟒蛇请求 http www python requests org 我想使用它的网站上的其他表单工作正常 我可以提交登录表单等 这只是我遇到问题的文件上传 显然 提交表单效果很好 因为我从网站收到一条消息 说 请返回
  • 管理文件字段当前 url 不正确

    在 Django 管理中 只要有 FileField 编辑页面上就会有一个 当前 框 其中包含指向当前文件的超链接 但是 此链接会附加到当前页面 url 因此会导致 404 因为不存在这样的页面 例如 http 127 0 0 1 8000
  • 为 Python 2.4 改进“with”语句的直接替换

    您能否建议一种方法来编写可在 Python 2 4 中使用的 with 语句的直接替换代码 这将是一个 hack 但它可以让我更好地将我的项目移植到 Python 2 4 EDIT 删除了不相关的元类草图 只需使用 try finally
  • 如何在 Python 中执行相当于预处理器指令的操作?

    有没有办法在 Python 中执行以下预处理器指令 if DEBUG lt do some code gt else lt do some other code gt endif There s debug 这是编译器预处理的特殊值 if
  • 如何使用数据库在 Django 中的应用程序之间交换数据?

    我正在使用 Django 在网络上工作 我创建了 2 个应用程序 第一个用于客户端注册并将其数据添加到数据库 第二个应用程序供用户访问和查看交互界面 这个想法是使用第二个应用程序从数据库中的客户端获取数据 并使用它向用户显示一些信息 我的问
  • 如何让你的精灵在pygame中跳跃

    目前我已经制作了一个平台游戏 可以左右移动我的角色 他从地上开始 关于如何让他跳的任何想法 因为我不明白 目前 如果我按住向上键 我的玩家精灵将连续向上移动 或者如果我按下它 我的玩家精灵将向上移动并保持向上 我想找个办法远离他 让我重新跌
  • 如何使用 Python 将我的 GoPro Hero 4 相机直播连接到 openCV?

    我在尝试从我的新 GoPro Hero 4 相机捕获实时流并使用 openCV 对其进行一些图像处理时遇到麻烦 这是我的试用 创建的窗口上没有显示任何内容 import cv2 import argparse import time imp
  • 在Python中从列表中获取n个项目组的惯用方法? [复制]

    这个问题在这里已经有答案了 给定一个列表 A 1 2 3 4 5 6 是否有任何惯用的 Pythonic 方式来迭代它 就好像它是 B 1 2 3 4 5 6 除了索引之外 这感觉像是 C 的遗留物 for a1 a2 in A i A i
  • 在读/写二进制数据结构时访问位域

    我正在为二进制格式编写一个解析器 这种二进制格式涉及不同的表 这些表同样采用二进制格式 通常包含不同的字段大小 其中 50 100 个之间 大多数这些结构都有位域 并且在 C 语言中表示时看起来像这样 struct myHeader uns
  • Selenium Python 使用代理运行浏览器[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个非常简单的脚本 该脚本从 txt 文件获取代理 不需要身份验证 并用它打开浏览器 然后沿着代理列表循环此操作一定次数 我确实知道如何打开 txt 文件并使用它 我的主要问题是让代理正常工作 我见
  • Shap - 颜色条不显示在摘要图中

    显示summary plot时 不显示颜色条 shap summary plot shap values X train 我尝试过改变plot size 当绘图较高时 会出现颜色条 但它非常小 看起来不应该 shap summary plo

随机推荐

  • 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 可以省略 但其值必须满足分配条件 否则会报错 只写一个值则自动分配 默认按