R语言系统教程(一):向量及其相关操作

2023-11-14

前言

准备用业余时间写一些关于R语言的系统教程,主要思路上计划结合自己的使用经验,不追求更新速度,甚至可能会一小节一小节的写,但力求对R语言中涉及到的内容做系统全面的剖析,因此有时读者可能会觉得笔者很啰嗦,一些很简单的东西却要说个半天,还请大家多多谅解。
主要参考书籍如下:

毅, 立萍. 统计建模与 R 软件[M]. 清华大学出版社, 2007.

另外随着笔者的不断学习和实践,随时可能会更改或添加一些内容,欢迎随时向笔者指出教程中的错误与不足。

1.1 向量(Vector)

赋值

首先是最简单的直接赋值,将一个向量以c()的形式直接赋给一个变量x,并且注意与其他脚本语言相同,在R语言中使用一个变量名是不需要事先声明的,另外,下面的代码块中##代表console的输出结果,本系列之后也是如此。(打脸 ̄□ ̄:由于格式问题,作者从第三期开始更改了代码格式)
x = c(10.4, 5.6, 3.1, 6.4, 21.7)
x

[1] 10.4 5.6 3.1 6.4 21.7

除此之外还可以通过<-或者assign()函数赋值
```c
x <- c(10.4, 5.6, 3.1, 6.4, 21.7)
x
## [1] 10.4 5.6 3.1 6.4 21.7

assign("x",c(10.4, 5.6, 3.1, 6.4, 21.7))
x
## [1] 10.4 5.6 3.1 6.4 21.7

并且<-还可以反向

c(10.4, 5.6, 3.1, 6.4, 21.7) -> x
x
## [1] 10.4 5.6 3.1 6.4 21.7

还可以通过已有的向量来定义(赋值)新的向量

y = c(x, 0, x)
y
## [1] 10.4 5.6 3.1 6.4 21.7 0.0 10.4 5.6 3.1 6.4 21.7

运算

首先是向量的加法运算,与数学常识相同,两个length相同的vector才可以相加。

x = c(-1, 2, 0)
y = c(3, 8, 2)
v = x + y
v
## [1] 2 10 2

数乘运算:

u = 2*x + y + 1
u
## [1] 2 10 2

两个vector直接相乘对应的运算是其二者对应项相乘,同样要求length相同

x*y
## [1] -3 16 0

两个vector直接相除对应的运算是其二者对应项相除,同样要求length相同

x*y
## [1] -3 16 0

vector平方对应的是其对应项分别平方

x^2
## [1] 1 4 0

将一个vector的vector指数运算即对其对应项分别进行对应的指数运算

y^x
## [1] 0.3333333 64.0000000 1.0000000

从以上几个例子可以看出,对vector的直接运算往往都是对其每个单项进行操作,体现了一种批处理的思想。一些常用运算还有

log(y)
## [1] 1.0986123 2.0794415 0.6931472
exp(y)
## [1] 20.085537 2980.957987 7.389056
sqrt(y)
## [1] 1.732051 2.828427 1.414214
sin(y)
## [1] 0.1411200 0.9893582 0.9092974

还有cos(),tan()等,另外注意sqrt(-2)是非allowed的,但是可以

sqrt(-2+0i) # 0*i is also not allowed
## [1] 0+1.414214i

常用函数

还有一些应用于向量对象的很有用的函数,首先是min()函数,可以返回vector中的最小值

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

R语言系统教程(一):向量及其相关操作 的相关文章

随机推荐

  • c++操作kafka

    通过调用librdkafka库实现操作kafka 消费者 1 include
  • sublime text3 英文版转为中文版

    简单几步 1 点击菜单栏中 preferences 弹出选项中找到 package control 2 弹出的框中输入 install package 3 弹出的框中在输入 localization 4 然后就汉化了
  • python下载安装教程(Python 3.10版本)

    目录 一 Python下载 二 Python安装 三 检查Python是否安装成功 今天换了新的电脑 需要重新安装python和PyCharm 就简单的写个教程吧 一 Python下载 1 进入Python官网 官网地址 https www
  • Nginx的跨域、alias、优化

    文章目录 root与alias 反向代理解决跨域 nginx的优化 基本配置优化 反向代理设置keepalive 压缩 缓存 操作系统优化 root与alias location alias app html index index htm
  • 计算机组成原理--基于Logisim的汉字的表示的应用(超详细/设计/实验/作业/练习)

    目录 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logisim的汉字的表示 一 前言 二 环境与设备 三 内容 四 结果与分析 课程名 计算机组成原理 内容 作用 设计 实验 作业 练习 学习 基于Logisim
  • Python 3.6 版本 Pytesseract 图像验证码识别 PyCharm 报错FileNotFoundError

    Python 3 6 版本 Pytesseract 图像验证码识别 本文首先先说下问题 在代码中引入Pytesseract块时 总是出现错误 程序代码很简单如下 from PIL import Image import pytesserac
  • 基于视觉的捡球机器人

    机器人通过自带的摄像头对散落在地上的乒乓球进行识别 随后进行拾取 本作品的主要难度在于如何在复杂的背景中准确地识别到乒乓球并跟踪 以及在识别到乒乓球后如何使机器人准确的向乒乓球运行 程序的链接http yueqiuchen blog 163
  • 五、pikachu之RCE

    文章目录 1 RCE概述 2 exec ping 3 exec evel 4 连接符 1 RCE概述 RCE emote command code execute 可以让攻击者直接向后台服务器远程注入操作系统命令或者代码 从而控制后台系统
  • 算法——因子和阶乘

    题目描述 输入正整数n 2 lt n lt 100 把阶乘n 1x2x3x xn分解成素因子相乘的形式 从小到大输出各个素数 2 3 5 的指数 你的程序应忽略比最大素因子更大的素数 否则末尾会有无穷对个0 样例输入 5 53 样例输出 5
  • 跨域问题的原理分析

    一 什么是跨域 当页面来源url 的协议 域名 端口 跟页面发出请求获取后端数据的url 的协议 域名 端口 只有要一个不同时 即为跨域 举个例子 我当前先请求blog csdn net nav lang到csdn服务器获取到一个csdn的
  • Caused by: org.springframework.context.ApplicationContextException: Unable to start ServletWebServer

    错误原因 SpringApplication run 中的类名书写错误 应该是写成springboot启动类的类名而不是其他的 如下所示 我启动类的类名为Main 那么在run方法中应该为Main class而不是其它 SpringBoot
  • RxPermissions简单使用

    RxPermissions简单使用 描述 随着社会的发展人们也开始重视对隐私的保护 谷歌也在Android6 0 sdk 23 增加了动态权限申请来保护广大用户的隐私 使我们开发者实现起来会很繁琐 代码量也会增多 但是对于程序员来说永远都是
  • JWT 身份认证优缺点分析以及常见问题解决方案

    JWT 身份认证优缺点分析以及常见问题解决方案 之前分享了一个使用 Spring Security 实现 JWT 身份认证的 Demo 文章地址 适合初学者入门 Spring Security With JWT 的 Demo Demo 非常
  • javascript基础第二天笔记

    JavaScript 基础 第2天 理解什么是流程控制 知道条件控制的种类并掌握其对应的语法规则 具备利用循环编写简易ATM取款机程序能力 运算符 语句 综合案例 运算符 算术运算符 数字是用来计算的 比如 乘法 除法 加法 减法 等等 所
  • Neo4j使用系列4

    Part4 1 Cypher基础1 类似于关系数据库中使用的SQL 是Neo4j使用的查询语言 1 特点 是一种声明式图形查询语言 富有表现力和高效的查询 更新和管理 设计简单 但功能强大 可以轻松表达高度复杂的数据库查询 Cypher的结
  • MySQL和Oracle时间取整

    按每15分钟时间取整 mysql SELECT now interval TIME TO SEC now mod 900 second from dual 其中now 可以替换为 你自己的 字段 oracle select sysdate
  • 第三方库(wordcloud为例)调用出现种种问题

    刚刚学习了python 想做点小东西练练手 python有很多好玩的东西 turtle库 wordcloud等等一系列我觉得都可以用来练练手并且真的是挺好玩 本来寻思也就十多行代码 肯定一会就能调试完 没想到 真的是我太天真 本来就不怎么会
  • 笔记本拓展外接显示器时 鼠标移动不到主显示器外的另一块屏上

    原因 显示面板 两个显示器图形表示 如下图带有标号的方块 摆放顺序不正确 把代表左边显示器的图标拖动到左侧即可
  • 从零到熟练编写LaTex数学公式,这两篇就够了

    第一篇 LaTex公式编辑方法 快速手敲一遍 熟悉常用操作 第二篇 CSDN官方参考文档 有不清楚的 随手查阅 在线公式编辑 实在打不出 就在线编辑吧
  • R语言系统教程(一):向量及其相关操作

    R语言系统教程 一 向量及其相关操作 前言 1 1 向量 Vector 赋值 1 10 4 5 6 3 1 6 4 21 7 运算 常用函数 1 2 Generate常用向量 Vector 等差数列 等间隔函数 重复函数 1 3 逻辑向量