R语言自学笔记(二)

作者: 林執涯 | 来源:发表于2017-03-15 13:08 被阅读382次

    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语言自学笔记(二)

        本文链接:https://www.haomeiwen.com/subject/ulylnttx.html