R语言 运算符

Python010

R语言 运算符,第1张

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

运算符的类型

R语言中拥有如下几种运算符类型:

算术运算符

关系运算符

逻辑运算符

赋值运算符

其他运算符

算术运算符

下表显示了R语言支持的算术运算符。 操作符对向量的每个元素起作用。

运算符 描述 例

关系运算符

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

运算符 描述 例

逻辑运算符

下表显示了R语言支持的逻辑运算符。 它只适用于逻辑,数字或复杂类型的向量。 所有大于1的数字被认为是逻辑值TRUE。

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

运算符 描述 例

& 它被称为元素逻辑AND运算符。 它将第一向量的每个元素与第二向量的相应元素组合,并且如果两个元素都为TRUE,则给出输出TRUE。

v <- c(3,1,TRUE,2+3i)

t <- c(4,1,FALSE,2+3i)

print(v&t)

它产生以下结果 -

TRUE TRUE FALSE TRUE

| 它被称为元素逻辑或运算符。 它将第一向量的每个元素与第二向量的相应元素组合,并且如果元素为真,则给出输出TRUE。

v <- c(3,0,TRUE,2+2i)

t <- c(4,0,FALSE,2+3i)

print(v|t)

它产生以下结果 -

TRUE FALSE TRUE TRUE

! 它被称为逻辑非运算符。 取得向量的每个元素,并给出相反的逻辑值。

v <- c(3,0,TRUE,2+2i)

print(!v)

它产生以下结果 -

FALSE TRUE FALSE FALSE

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

运算符 描述 例

&& 称为逻辑AND运算符。 取两个向量的第一个元素,并且只有两个都为TRUE时才给出TRUE。

v <- c(3,0,TRUE,2+2i)

t <- c(1,3,TRUE,2+3i)

print(v&&t)

它产生以下结果 -

TRUE

|| 称为逻辑OR运算符。 取两个向量的第一个元素,如果其中一个为TRUE,则给出TRUE。

v <- c(0,0,TRUE,2+2i)

t <- c(0,3,TRUE,2+3i)

print(v||t)

它产生以下结果 -

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)

它产生以下结果 -

3+0i 1+0i 1+0i 2+3i

3+0i 1+0i 1+0i 2+3i

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)

它产生以下结果 -

3+0i 1+0i 1+0i 2+3i

3+0i 1+0i 1+0i 2+3i

其他运算符

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

运算符 描述 例

: 冒号运算符。 它为向量按顺序创建一系列数字。

v <- 2:8

print(v)

它产生以下结果 -

2 3 4 5 6 7 8

%in%此运算符用于标识元素是否属于向量。

v1 <- 8

v2 <- 12

t <- 1:10

print(v1 %in% t)

print(v2 %in% t)

它产生以下结果 -

TRUE

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

#设置默认路径

#显示当前工作目录(软件默认使用工作目录)

getwd()

#修改默认工作目录

setwd(dir = "e:/Rwork/")

#提示工作目录

getwd()

#查看目录下包含的文件

list.files()

#或者

dir()

#R包安装

install.packages("vcd")

#显示库所在的位置

.libPaths()

#显示库里有哪些安装包

library()

#载入包

library(vcd)

#or

require(vcd)

#直接输入函数看某些函数来自于R的哪个包

#如何使用R包

help(package="vcd")

help(package="ggplot2")

#查看包的信息,列出R包的基础内容,显示内置的数据集的内容,给包中的函数作为案例来使用

library(help="vcd")

#还有一些包中的函数,是包的核心内容,扩展了R的功能

Arthritis

#列出包中所有包含的函数

ls("package:vcd")

#每个函数如何使用查看对应帮助文档

#列出R包中包含的所有数据集

data(package="vcd")

#使用完一个包之后,将包从内存中移除

detach("package:vcd")

#再使用

Arthritis

#会出现报错:需要重新再加载

#删除已安装的包

remove.packages("vcd")

#会将R包从硬盘上彻底删除,无法继续使用了,用得不多

#R包的批量移植(更换新设备)

#列出当前环境中已安装的R包

installed.packages()

#取第一列,,,使用下标来访问数据框的第一列

installed.packages()[,1]

#将所以R包名字保存到一个文件中

Rpack<- installed.packages()[,1]

save(Rpack,file = "Rpack.Rwork")

#将这个文件移到另一个设备上

#在另一个设备上使用load函数打开这个文件

#存到另外一个变量Rpack中

#看到这些R包

#Rpack

#批量安装这些R包

#使用一个for循环

for(i in Rpack)install.packages(i)

#如何获取R的帮助信息

help.start()

#查看某个函数的功能

help(sum)

#or

?plot

?sum

#快速了解函数参数而不想查阅详细文档

args(plot)

#查看函数使用案例

example(mean)

example("hist")

#列出R的一些案例图

demo(graphics)

#查看R安装的某个包的帮助文档

help(package=ggplot2)

#有些R包包含vignette文档,这中文档包含更多内容,也更加规范,里面有简介、教程、开发文档等

vignette()

#不是每个包都包含这种格式的文档

vignette("xts")

#有时安装了某包但使用help命令搜索不到相关函数,是因为没有载入这个包

#需用使用library函数载入这个包

#载入之后才能使用help函数找到相关文档

#或者直接在help命令中加上package选项  等于  要搜索R包的名字,这种方法比较麻烦

#??接要搜索函数名字,这种情况下不加载包也可以

#有些情况下,不知道具体的函数名,只能模糊搜索

#查找与绘制热图相关的帮助信息(使用这条命令进行本地搜索)

help.search(heatmap)

#提示搜索不到

#因为需要加上引号

help.search("heatmap")

#搜到stats包中的heatmap函数,可以用来绘制热图

#help.search("heatmap")也可以简写成下面一条命令

??heatmap#不需要加引号

#列出所有包含关键字的内容

apropos("sum")

#可以通过mod参数调整查询的内容

apropos("sum",mod="function")#只列出函数

#help.search或??都是进行本地的文档搜索

#有时搜索不到或者文档太老了可以使用RSiteSearch()函数进行网络搜索

RSiteSearch(matlab)

#运行函数会使用默认浏览器来访问R官网,在官网中进行搜索,列出更多的结果

#可以利用搜索引擎进行问题搜索