R语言的基本数学运算

目录

一、对象命名原则

二、基本数学运算

2.1 四则运算

2.2 余数和整除

2.3 次方或平方根

2.4 绝对值

2.5 exp()与对数

2.6 科学符号e

2.7 圆周率与三角函数

2.8 四舍五入函数

2.9 近似函数

2.10 阶乘

三、R语言控制运算的优先级

四、无限大

五、非数字(NaN)

六、缺失值(NA)


一、对象命名原则

R语言的基本命名规则包括以下几点:

(1)下列名称是R语言的保留字,不可当作对象名称。

break、else、FALSE、for、function、if、Inf、NA、NaN、next、repeat、return、TRUE、while

(2)R语言对英文字母大小写是敏感的,所以basket与Basket,会被视为两个不同的对象。

(3)对象名称开头必须是英文字母或点号(“.”),当以点号(“.”)开头时,接续的第二个字母不可是数字

(4)对象名称只能包含字母,数字、下划线(“_”)和点号(“.”)。

二、基本数学运算

2.1 四则运算

R语言的四则运算是指加(+)、减(-)、乘(*)和除(/)。

2.2 余数和整除

余数所使用的符号是“%%”,可计算出除法运算中的余数。整除所使用的符号是“%/%”,是指除法运算中只保留整数部分。

2.3 次方或平方根

次方的符号是“**”或“^”,平方根的计算使用函数sqrt()。

2.4 绝对值

绝对值的函数名称是abs(),不论函数内的值是正数或负数,结果均为正数。

2.5 exp()与对数

exp()是指自然数e的x次方,其中e的近似值是2.718282。

对数有以下两种类型。

(1)以自然数e为底的对数,log_{e}x=ln x,语法是log()。

(2)一般基底的对数,log_{m}x,语法是log(x,m)。如果基底是10,也可以使用另一个对数函数log10()取代。

exp()和log()也可以互为反函数。

2.6 科学符号e

科学符号使用e表示,例如数字12800,实际等于“1.28*10^4”,也可以用“1.28e4”表示。

2.7 圆周率与三角函数

圆周率就是指pi。pi是系统默认的参数,其近似值是3.141593。

R语言所提供的三角函数有许多,例如sin()、cos()、tan()、asin()、acos()、atan()、sinh()、cosh()、tanh()、asinh()。

2.8 四舍五入函数

R语言的四舍五入函数是round()。

round(x,digits=k),表示将实数x,以四舍五入的方式,计算至第k位小数。另外,round()函数中的第2个参数“digits=”也可以直接省略,直接在第2个参数位置输入数字。

signif(x,digits=k),也是一个四舍五入的函数,其中x是要做处理的实数,k是有效数字的个数。例如,signif(79843.597,digits=6),代表取6个数字,从左边算第7个数字以四舍五入的方式处理。

2.9 近似函数

R语言有3个近似函数。

(1)floor(x):可得到小于等于x的最近整数。所以,floor(234.56)等于234,floor(-234.45)等于-235。

(2)ceiling(x):可得到大于等于x的最近整数。所以,ceiling(234.56)等于235,ceiling(-234.45)等于-234。

(3)trunc(x):可直接取整数。所以,trunc(234.56)等于234,trunc(-234.45)等于-234。

2.10 阶乘

factorial(x)可以返回x的阶乘。

三、R语言控制运算的优先级

当R语言碰上多种计算式同时出现在一个命令内时,除了括号“()”最优先外,其余计算优先次序如下:

(1)指数。

(2)乘法、除法、求余数(%%)、求整数(%/%),依照出现顺序运算。

(3)加法、减法,依照出现顺序运算。

四、无限大

R语言可以处理无限大(Infinity)的值,使用代号值Inf,如果是负无限大则是-Inf。其实只要某一个数字数字除以0,就可获得无限大。

判断某一个数字是否为无限大(正值无限大或负值无限大),可以使用is.infinite(x),如果x是无限大则返回逻辑值TRUE,否则返回FALSE。

另一个相关函数是is.finite(x),如果数字x是有限的(正有限大或负有限大)则返回TRUE,否则返回FALSE。

注:

在其他程序语言中,TRUE和FALSE值被称为布尔值,但在R语言中,R的开发人员将此称为逻辑值。

五、非数字(NaN)

在R语言中,Not a Number(NaN)可以解释为非数字或无定义数字。无限大除以无限大可以获得NaN。

R语言将NaN当作一个数字,可以使用NaN参与四则运算,但所得结果均是NaN。

使用is.nan(x)函数,可检测x是否位NaN,如果是则返回TRUE,否则返回FALSE。

另外,对于NaN而言,使用is.finite()和is.infinite()判断,均传回FALSE。

六、缺失值(NA)

我们可以将缺失值当作一个有效数值,甚至可以将此值应用在四则运算中,不过,通常计算结果是NA。

R语言提供的is.na(x)函数可判断x是否为NA,如果是则返回TRUE,否则返回FALSE。

对于NaN而言,使用is.na()判断,可以得到TRUE。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

3.7 Linux shell脚本编程(分支语句、循环语句)

目录 分支语句(对标C语言中的if) 多路分支语句(对标C语言中的swich case) 分支语句(对标C语言中的if) 语法结构: if 表达式 then 命令表 fi 如果表达式为真, 则执行命令表中的命令; 否则退出if语句,…

Linxu下性能指标采集工具之nmon工具的使用

前言 近期在测试JefLogTail,由于JefLogTail使用的是轮询的方式来监听文件夹,所以对cpu的消耗可能会高一些,所以在测试的时候着重关注CPU,Linux下查看CPU信息一般采用top命令来实时观察,但是这种对于只是通过观察数据的变化来评估…

Anaconda,CUDA注意事项

2. 呜呜呜!!!用别人的环境,如果他是非GPU版本的TF,你把非GPU版本的TF卸载后安装GPU版本的TF他也装不上。。。会默认给你装非GPU版本的TF!!!大坑比!!&#xf…

streamlit (python构建web可视化框架)笔记

文章目录 一、安装使用streamlit二、streamlit使用1.展示和数据样式2.dataframe()生成交互表和table()方法生成静态表3.绘制折线图4.绘制地图5.一些组件slider()滑动条 checkbox()确认框 selectbox()选择器6.侧边栏7.布局分列8.多页 三、Steamlit可视化简单应用--冒泡排序可视化…

科学防雷接地和雷电防护方案

说到防雷,可能不少人首先会想到避雷针,而“避雷针”这一概念,很容易让大家对防雷的概念造成误解。 误解1: 避雷针是用来“避雷”的。 其实,避雷针的学名叫“接闪器”,不是用来“避开雷击”的,而是用来“迎…

传统机器学习(七)支持向量机(2)sklearn中的svm

传统机器学习(七)支持向量机(2)sklearn中的svm 2 sklearn中的svm 2.1 LinearSVC及SVC参数详解 2.1.1 SVC参数 class sklearn.svm.SVC(*,C1.0, kernelrbf, degree3, gammascale, coef00.0, shrinkingTrue, probabilityFalse, tol0.001, cache_size200, class_weightNone, ve…

为什么企业要做大规模敏捷?

背景 软件工程里一个重要的指标就是“可用的软件”,敏捷宣言里也同样告诉我们“工作的软件高于详尽的文档”,那“可用的软件”、“工作的软件”意味着什么呢?在我的理解里,可以经历用户 “千锤百炼”的软件就是一个“可用的软件”…

这些vue基本语法,你掌握了吗

文章目录 一、 vue 项目重点概念介绍1. 单页面应用程序2. 单文件组件3.数据驱动视图 二、 vue 基本结构1、template2、script3、style 三、 vue 常用指令介绍1、内容渲染指令(1)插值表达式 {{xxx}} —常用方式(2)v-text&#xff0…

912. 排序数组

1.题目: 2.我的代码: C语言: /*** Note: The returned array must be malloced, assume caller calls free().*/ int* sortArray(int* nums, int numsSize, int* returnSize) {//希尔排序int gap numsSize;//多次预排while (gap > 1) {/…

Ansys Zemax | 如何模拟双折射偏振器件

这篇文章介绍了什么是双折射现象、如何在OpticStudio中模拟双折射 (birefringence)、如何模拟双晶体的双折射偏振器以及如何计算偏振器的消光比。(联系我们获取文章附件) 什么是双折射现象 一般的光学材料都是均匀的各向同性的,也就是说无论光…

STM32物联网实战开发(6)——PWM驱动LED灯

PWM驱动LED灯 之前是使用标准库函数配置引脚输出PWM控制呼吸灯,因为开发板上的蜂鸣器是有源的,所以这次还是用来确定LED灯,这次使用的是HAL库,用CubeMX软件初始化PWM功能 PWM输出原理 Period:周期,单位是秒…

语音处理加窗分帧

语音处理加窗分帧 一、分帧 语音数据和视频数据不同,本没有帧的概念,但是为了传输与存储,我们采集的音频数据都是一段一段 的。为了程序能够进行批量处理,会根据指定的长度(时间段或者采样数)进行分段,结构化为我们编程…

Javaweb | 转发、重定向

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 转发 转发与页面跳转 转发 转发的作用在服务器端,将请求发送给服务器上的其他资源,以共同完成一次请求的处理 页面跳转 使用forward跳转时&am…

拍卖小程序开发:从需求分析到设计实现

在当今数字时代,拍卖小程序已经成为了一个重要的销售和交易工具。拍卖小程序的开发不仅能够提供高效的销售渠道,还能够为用户提供全新的购物体验。因此,开发一个拍卖小程序成为了许多商家的首要任务。 拍卖小程序的开发可以帮助商家拓展销售…

Linux下实现共享内存的两种机制(附源码)

START Hello 大家好。 今天来讲一下Linux进程通信中重要的通信方式:共享内存作为Linux软件开发攻城狮,进程间通信是必须熟练掌握的重要技能,而共享内存是在程序开发中常用的也是重要的一种进程间通信方式。 下面我们就来聊一聊Linux下进程间…

pytest自动化框架之allure测试报告的用例描述设置

allure测试报告的用例描述相关方法;如下图 allure标记用例级别severity 在做自动化测试的过程中,测试用例越来越多的时候,如果执行一轮测试发现了几个测试不通过,我们也希望能快速统计出缺陷的等级。 pytest结合allure框架可以对…

每日学术速递4.26

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.AutoNeRF: Training Implicit Scene Representations with Autonomous Agents 标题:AutoNeRF:使用自主代理训练隐式场景表示 作者:Pierre Marz…

SaaS云HIS系统源码功能介绍

SaaS云HIS首页功能:包括工作计划、预警、主功能菜单、医院机构公告。 一、工作计划 1.值班概况:值班日期、值班时间、值班科室(内科、外科等) 2.待处理患者:内科人数、外科人数等 病历统计:入院病历、出…

华为面试题:1+4=5,2+5=12,3+6=21,问8+11=?网友:幼儿园级别

面试,一直都是职场人士绕不过去的坎,对于有的人来说,或许更擅长日常的工作,在面试环节可谓是自己的薄弱环节,但对于有的人来说,相比于工作,更擅长应付面试! 最近,有一位…

《面向基于人工智能的学习健康系统,使用心电图进行人群水平的死亡率预测》阅读笔记

目录 一、摘要 二、十个问题 Q1论文试图解决什么问题? Q2这是否是一个新的问题? Q3这篇文章要验证一个什么科学假设? Q4有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员? Q5论文中提到…