1. R 的赋值方式:

    > x <- 5 + 7
    
  2. 创建向量的方式

    > z <- c(1.1, 9, 3.14)
    
  3. 帮助函数的调用 比如你想了解某个函数的用法,可以使用

    > ?c
    

    就会调出c函数的用法。

  4. 向量乘法,加法,除法,减法

    > z*2+100  # 102.20 118.00 106.28
    > my_sqrt <- sqrt(z - 1) # 0.3162278 2.8284271 1.4628739
    > my_div <- z / my_sqrt # 3.478505 3.181981 2.146460
    

    与python相似。z*2+100等价于z * c(2, 2, 2) + c(100, 100, 100)
    但是与python的区别是,维度不一致的时候,依然可以相加,这里在R中叫做recycling

    > c(1, 2, 3, 4) + c(0, 10) # 1 12  3 14
    

    等价于c(1, 2, 3, 4) + c(0, 10, 0, 10)
    两个向量相加,R会自动用短的向量来补齐,循环再利用,直至和长的向量保持一致。所以在z*2中补2,补到和z维度一致为止。在python中,z*2可以得到结果,使用的是broadcast操作,但是c(1, 2, 3, 4) + c(0, 10)的操作就python中是不可以的,因为一个(4,)(2,)无法broadcast。
    但是仍有一个问题,当短向量长度无法被长向量整除时,比如

    > c(1, 2, 3, 4) + c(0, 10, 100) # 1  12 103   4
    

    此时R会给出一个warning message

    arning message:
    In c(1, 2, 3, 4) + c(0, 10, 100) :
    longer object length is not a multiple of shorter object length
    

    但是这仍然会返回一个结果,后面无法整除的长度的那些元素不做任何操作。

  5. 补充 在大部分IDE中,都有tab键自动补齐的功能

results matching ""

    No results matching ""