zoukankan      html  css  js  c++  java
  • R语言笔记1--向量、数组、矩阵、数据框、列表

    注释:R语言是区分大小写的

    1、向量

      R语言中可以将各种向量赋值为一个变量,这种赋值操作符就是等号“=”,也可以使用“<-”。 

     1)产生向量

      (1)函数c()

        例如:x1=c(2,4,6,8,0)    表示数列

      (2)例如:

      向量a:2到60的元素都乘以2再加1

      a[5]:显示向量a的第5个元素 

      a[-5]:除去向量a的第5个元素,显示其它元素

      a[1:5]:显示第1到第5个元素

      a[-(1:5)]:除去第1到第5个元素,显示其余的元素

      a[c(2,4,7)]:显示第2,第4,第7个元素

      a[a[3]]:先计算a[3],然后再计算a[a[3]]

      a[a>30&a<50]:显示向量a中大于30小于50的元素

       

      length()

      例如:>length(a)

                >59

      mode()

      例如:>mode(a)  

         >"numeric"  表示x1数列里的元素是数字型的

      rbind() 

      例如:

      cbind()

      例如:

      2)seq()函数

      seq(5,20):产生首项为5,末项为20,公差为1的等差数列

      seq(5,121,by=2):产生首项为5,末项为121,公差为2的等差向量

      seq(5,121,length=10):产生首项为5,末项为121,长度为10,即有10个元素的数列

      3)letters(产生字母序列)

       4)which()函数

      which函数进行操作的向量返回的是向量的下标

      a[which.max(a)]:表示向量中第11个元素

      5)rev()函数:颠倒向量元素

         sort()函数:对向量中的元素进行排序

    2、向量运算(求平均值,和,连乘,最值,方差,标准差)

      例如:

    3、寻求帮助

    4、数组

      数组(Array)是一种多维的向量,建立数组的方法如下:

         a <- array(1:12,dim=(3,4))
       print(a)
            [,1] [,2] [,3] [,4]
       [1,]   1    4    7   10
       [2,]   2    5    8   11
       [3,]   3    6    9   12

    5、矩阵

      (1)matrix()函数

         

      (2)矩阵的加减,相乘

      (3)函数t():对矩阵进行转置

      (4)函数diag():求矩阵的对角线

      

      diag(diag(a)):产生以diag(4)为对角线的矩阵

      diag(4):产生4捷单位矩阵

      (5)矩阵求逆,函数rnorm(),solve()

      a=matrix(rnorm(16),4,4):以正态分布产生16个随机数,生成4*4的矩阵

      solve(a):求上述矩阵的逆

      solve(a,b):解方程组

      (6)矩阵的特征值与特征向量

    6、数据框

      数据框(Data frame)是一种累死Excel表格的数据结构,其中每列的数据类型可以不同,但数据长度必须一致。数据框非常适合用来进行数据分析,它的每一列可以代表数据的每个变量或属性,每一行可以代表一个样本。

    7、列表

      列表(List)是最为灵活的数据结构,它的不同元素可以是不同类型,也可以是不同长度。

    8、对象和类

      R是一种基于对象的语言,对象中包含了我们需要的数据,同时对象也具有很多属性(Attribute)。其中最重要的属性就是它的类(Class)。

      R中最为基本的类包括了数值、逻辑、字符,在此基础上构成了一些复合型的类,包括矩阵、数组、数据框和列表。

      对于任何一个对象,我们可以用class()函数来观察它的类,同时可以使用attribute()函数来观察其属性,str()函数可以了解一个对象的底细。

  • 相关阅读:
    Effective_STL 学习笔记(三十一) 了解你的排序选择
    Effective_STL 学习笔记(三十) 确保目标区间足够大
    Effective_STL 学习笔记(二十九) 需要一个一个字符输入时考虑使用 istreambuf_iterator
    maven 项目 配置docker镜像生成(dockerfile-maven-plugin)
    docker容器时间不对及java程序时间不对解决
    spring boot 下websocket实现的两种方法
    封装下Excel导出
    python安装出现的证书问题
    k8s安装
    ssh免密登录
  • 原文地址:https://www.cnblogs.com/chamie/p/4686722.html
Copyright © 2011-2022 走看看