R语言运算符

运算符是一个符号,告诉编译器执行特定的数学或逻辑操作。R语言有丰富的内置运算符,并提供以下类型的运算符。

运算符类型

  • 算术运算符
  • 关系运算符
  • 逻辑运算符
  • 赋值运算符
  • 其他运算符

算术运算符

下表列出了用R语言支持的算术运算符。运算符作用向量中的每个元素。

运算符 描述 示例
+ 两个向量相加
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v+t)

它产生以下结果:

[1] 10.0  8.5  10.0
? 从第一个向量减去第二个向量
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v-t)

它产生以下结果:

[1] -6.0  2.5  2.0
* 两个矢量相乘
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v*t)

它产生以下结果:

[1] 16.0 16.5 24.0
/ 将第一个向量与第二向量相除
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v/t)

它产生以下结果:

[1] 0.250000 1.833333 1.500000
%% 得到第一矢量与第二个矢量余数
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%%t)

它产生以下结果:

[1] 2.0 2.5 2.0
%/% 第一个向量与第二(商)相除的结果
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%/%t)

它产生以下结果:

[1] 0 1 1
^ 第一向量提升到第二向量的指数
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v^t)

它产生以下结果:

[1]  256.000  166.375 1296.000

关系运算符

下表列出了R语言中支持的关系运算符。第一向量的每个元素与第二向量的相应元素进行比较。比较的结果是一个布尔值。

运算符 描述 示例
> 检查是否第一向量的每个元素大于第二向量的相应元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>t)

它产生以下结果:

[1] FALSE  TRUE FALSE FALSE
< 检查是否第一向量的每个元素小于第二向量的相应元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v < t)

它产生以下结果:

[1]  TRUE FALSE  TRUE FALSE
== 检查是否第一向量的每个元素等于第二向量的相应元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v==t)

它产生以下结果:

[1] FALSE FALSE FALSE  TRUE
<= 检查是否第一向量的每个元素是小于或等于第二向量的相应的元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v<=t)

它产生以下结果:

[1]  TRUE FALSE  TRUE  TRUE
>= 检查是否第一向量的每个元素是大于或等于第二向量的相应元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>=t)

它产生以下结果:

[1] FALSE  TRUE FALSE  TRUE
!= 检查是否第一向量的每个元素不等于第二向量的相应元素。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v!=t)

它产生以下结果:

[1]  TRUE  TRUE  TRUE FALSE

逻辑运算符

下表列出了R语言中支持的逻辑运算符。它仅适用于一种逻辑,数字或复杂的矢量。所有数值大于1则认为逻辑值为TRUE。

所述第一向量的每个元素与所述第二向量的相应元素进行比较。比较的结果是一个布尔值。

运算符 描述 示例
& 这就是所谓的元素逻辑AND运算符。它结合与第二向量的相应元素的第一向量的每个元素,如果这两个元件都为TRUE则给出一个TRUE。
v <- c(3,1,TRUE,2+3i)
t <- c(4,1,FALSE,2+3i)
print(v&t)

它产生以下结果:

[1]  TRUE  TRUE FALSE  TRUE
| 这就是所谓的逐元素逻辑或运算符。它结合与第二向量的相应元素的第一向量的每个元素,如果使用这些元素之一为TRUE则给出一个TRUE。
v <- c(3,0,TRUE,2+2i)
t <- c(4,0,FALSE,2+3i)
print(v|t)

它产生以下结果:

[1]  TRUE FALSE  TRUE  TRUE
! 这就是所谓的逻辑非运算符。取向量的每个元素,并给出了相反逻辑值。
v <- c(3,0,TRUE,2+2i)
print(!v)

它产生以下结果:

[1] FALSE  TRUE FALSE FALSE

逻辑运算符&&和||考虑矢量仅第一元素并给单个元素作为输出的向量。

运算符 描述 示例
&& 所谓的逻辑与运算符。取两个向量的第一元素,仅当两个都为TRUE结果取TRUE。

v <- c(3,0,TRUE,2+2i)
t <- c(1,3,TRUE,2+3i)
print(v&&t)

它产生以下结果:

[1] TRUE
|| 所谓的逻辑或运算符。取两个向量的第一元素,仅当两个都为TRUE结果为TRUE。
v <- c(0,0,TRUE,2+2i)
t <- c(0,3,TRUE,2+3i)
print(v||t)

它产生以下结果:

[1] FALSE

赋值运算符

这些操作符是用来分配值到向量。

运算符 描述 示例
<- 
or

or 
<<-
叫做左分配
v1 <- c(3,1,TRUE,2+3i)
v2 <<- c(3,1,TRUE,2+3i)
v3 = c(3,1,TRUE,2+3i)
print(v1)
print(v2)
print(v3)

它产生以下结果:

[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i
-> 
or
->>
叫做右分配
c(3,1,TRUE,2+3i) -> v1
c(3,1,TRUE,2+3i) ->> v2
print(v1)
print(v2)

它产生以下结果:

[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i

其他运算符

这些操作符被用于为特定的目的,而不是一般的数学或逻辑运算。

运算符 描述 示例
: 冒号运算符。它创建顺序一系列数字的向量
v <- 2:8
print(v) 

它产生以下结果:

[1] 2 3 4 5 6 7 8 
%in% 这个操作符用于识别一个元素是否属于(在)一个向量。
v1 <- 8
v2 <- 12
t <- 1:10
print(v1 %in% t)
print(v2 %in% t) 

它产生以下结果:

[1] TRUE
[1] FALSE 
%*% 这个操作符是用来乘以它的转置矩阵。
M = matrix( c(2,6,5,1,10,4), nrow=2,ncol=3,byrow = TRUE)
t = M %*% t(M)
print(t) 

它产生以下结果:

 [,1] [,2]
[1,]   65   82
[2,]   82  117
时间: 2024-12-24 11:57:48

R语言运算符的相关文章

R(1)Mac OS 下安装R语言开发环境

本文原文连接: http://blog.csdn.net/freewebsys/article/details/45825267 转载请注明出处! 1,关于R 参考百度: http://baike.baidu.com/view/942569.htm R是一个免费的自由软件,它有UNIX.LINUX.MacOS和WINDOWS版本,都是可以免费下载和使用的.在那儿可以下载到R的安装程序.各种外挂程序和文档.在R的安装程序中只包含了8个基础模块,其他外在模块可以通过CRAN获得. R的原代码可自由下

R语言概述

R是一个有着统计分析功能及强大作图功能的软件系统,是由Ross Ihaka和Robert Gentleman共同创立.它是属于GNU系统的一个自由.免费.源码开放的软件,同一时候也是一个用于统计计算和统计制图的优秀工具. 一.R的发展历史 要说R.就不得不先来说一下S语言. 1980年左右.AT&T贝尔实验室设计出一种在统计领域广泛使用的S语言. S语言是一种解释型语言.被设计用来进行数据探索.统计分析和作图. S语言最初的实现版本号主要是S-PLUS.它是一个基于S语言的商业软件,由MathS

R语言编程艺术(2)R中的数据结构

本文对应<R语言编程艺术>第2章:向量:第3章:矩阵和数组:第4章:列表:第5章:数据框:第6章:因子和表 ========================================================================= R语言最基本的数据类型就是向量(vector),单个数值和矩阵都是向量的一种特例. 声明:R中不需要声明变量,但是注意函数式语言的特性,如果读写向量中的元素时,R事先不知道对象是向量的话,则函数没有执行的对象.如下代码是无法工作的: y[1]

R语言编程艺术# 数据类型向量(vector)

R语言最基本的数据类型-向量(vector) 1.插入向量元素,同一向量中的所有的元素必须是相同的模式(数据类型),如整型.数值型(浮点数).字符型(字符串).逻辑型.复数型等.查看变量的类型可以用typeof(x)函数查询. > #插入向量元素 > x <- c(88,5,12,13) > x [1] 88 5 12 13 > x <- c(x[1:3],168,x[4]) #插入168数字在13之前 > x [1] 88 5 12 168 13 > 2.

R语言︱ 数据库SQL-R连接与SQL语句执行(RODBC、sqldf包)

数据库是极其重要的R语言数据导入源数据之地,读入包有sqldf.RODBC等.跟SQL server相连有RODBC,跟mySQL链接的有RMySQL.但是在R里面,回传文本会出现截断的情况,这一情况可把我弄得有点手足无措. 一.数据库读入--RODBC包 CRAN 里面的包 RODBC 提供了 ODBC的访问接口: odbcConnect 或 odbcDriverConnect (在Windows图形化界面下,可以通过对话框选择数据库) 可以打开一个连接,返回一个用于随后数据库访问的控制(ha

R语言学习笔记

參考:W.N. Venables, D.M. Smith and the R DCT: Introduction to R -- Notes on R: A Programming Environment for Data Analysis and Graphics,2003. http://bayes.math.montana.edu/Rweb/Rnotes/R.html 前言:关于R 在R的官方教程里是这么给R下注解的:一个数据分析和图形显示的程序设计环境(A system for data

R语言编程艺术学习(1)

###R语言编程艺术===== ####chr1.快速入门====== #交互模式 mean(abs(rnorm(100))) rnorm(10) source("z.R") #批处理模式 setwd("/Users/tang/Downloads/R语言编程艺术/") #shell命令运行脚本 #R CMD BATCH z.R data() ##查看内置数据集 mean(Nile) sd(Nile) hist(Nile) hist(Nile, breaks = 12

R语言应用

文章参考  << R 数据分析  -- 方法与案例详解  >> R的官方网站是http://www.r-project.org, 在R官方主页点击download  R,然后选择对应的镜像后,在右侧下载和安装包栏目里会 出现三种操作系统的R版本(Linux.(Mac)  OS  X.Windows),选择点击相应的操作系 统后,再选择点击base就会进入R的下载页面,在页面上会出现R的最新版本和安装说明等 不过,要使用RStudio,除了安装R开发环境后,还需要到 htt

转载:R语言Data Frame数据框常用操作

Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成,与Matrix不同的是,每个列可以是不同的数据类型,而Matrix是必须相同的. Data Frame每一列有列名,每一行也可以指定行名.如果不指定行名,那么就是从1开始自增的Sequence来标识每一行. 初始化 使用data.frame函数就可以初始化一个Data Frame.比如我们要初始化一个student的Data Frame其中包含ID和Name还有Gender以及Birthdate,那么代码为: studen