R语言自学笔记(二)

R语言可以执行向量之间的运算,分析的是整个数据集。

一、怎么创建向量呢?

创建向量通常用冒号运算符:能创建一个从某个数值开始到另一个数值结束的序列

而c函数则会把一系列的值给拼接起来创建向量

PS:c是concatenate的首字母,这又是一个拉丁词汇,意思是“把所有东西连接到一起”

eg:1:5+6:10  #look,no loops!

c(1,3,6,10,15)

二、R向量化

含义一:运算符或函数可以作用于向量中的每个元素,所以无需显式编写循环语句

含义二:当一个函数把一个向量作为输入时,能计算汇总统计

eg:sum(1:5) 运行的结果就是 15

含义三:参数的向量化(具体的暂时还不明白 TVT)

三、在R中,所有的算术运算符都是向量化的,以下是各种示例:

c(2,3,5,7,11,13) - 2  #减法

-2:2 * -2:2         #乘法

identical(2^3,2**3)   #这两个运算符都代表求幂  返回值是 TRUE

1:10/3         #浮点除数法

1:10%/%     #整数除法1:10%%3     #余数

四、比较运算

同样也是向量化的整数值是否相等用的是== 而非=

检查是否不等用的是 !=

大于则用 >  小于用<

如果有可能相当则用 >= 或 <=

eg:c(3,4-1,1+1+1)==3

##[1] TRUE TRUE TRUE

PS:非整型数不适合用==进行比较,因为数据处理用的是浮点数型,==适合用来比较字符串

五、all.equal函数用于检查数字是否相等如果比较的值不一样,all.equal返回时会报告差值如果只需要返回TRUE或FALSE,则应当把all.equal嵌入isTRUE函数中调用

eg:all.equal(sqrt(2)^2,3)

##[1] "Mean relative difference:0.5"

isTRUE(all.equal(sqrt(2)^2,3))

##[1]FALSE

六、变量赋值在R中不需要声明变量,<- 或者 = 就实现对本地变量赋值

命名的细节可以参考 ?make.names

全局变量赋值可以使用 <<- 还可以用assign函数进行赋值, 想用全局变量就加上globalenv这个参数eg:

assign("my_global_variable , 3 , globalenv())

PS:与<-相比,assign函数会使代码可读性变差,需要谨慎使用

七、特殊数字

Inf  正无穷

-Inf  负无穷

NaN 是指计算或没有数学意义,或无法正确执行,not a number

NA 是代表缺失值, not available

八、逻辑向量

R中的逻辑值除了TRUE和FALSE,还有缺失值NA,拥有这三种状态的系统被称为troolean逻辑。

!非    &与   |非

(x<-1:10>=5)

## [1] F F F F T T T T T T

两个比较有用处理逻辑向量的函数 any  和 all ,字面意思即可理解。

你可能感兴趣的:(R语言自学笔记(二))