码迷,mamicode.com
首页 > 编程语言 > 详细

R语言学习笔记——数据结构

时间:2015-04-07 15:28:59      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

参考书籍:R语言实战

 

数据结构:

1. 向量 : 用于存储数值型、字符型或逻辑型数据的一维数组
  1.1 创建 : a <- c(1, 2, 3, 4)

  1.2 访问 : a[1] : 1

       a[c(2, 4)] : 2 4 (向量a中的第二个和第四个元素)

       a[1:4] : 1 2 3 4 (向量a中的第一个直到第四个元素)

  1.3 注意 : 

      1)  单个向量中的数据必须拥有相同的类型或模式(数值型、字符型或逻辑型)
      2) 标量是只含一个元素的向量,例如f <- 3 、 g <- "US" 和h <- TRUE。它们用于保存常量

2. 矩阵 : 矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)

  2.1 创建 : mymatrix <- matrix(vector, nrow=number_of_row, ncol=number_of_col, byrow=logical_value, dimnames=list(char_vector_rownames,                   char_vector_colnames))

       其中vector包含了矩阵的元素, nrow和ncol用以指定行和列的维数, dimnames包含了可选的、以字符型向量表示的行名和列名。选项byrow则表明矩阵应当按
       行填充( byrow=TRUE)还是按列填充( byrow=FALSE),默认情况下按列填充

         

技术分享

 

 

                  

 

  2.2 访问 : 

 

        

 

技术分享

 

 

 

 

 

  2.3 注意 : 

      1)  矩阵都是二维的,和向量类似,矩阵中也仅能包含一种数据类型。当维度超过2时,不妨使用数组。当有多种模式的数据时,不妨使用数据框

3. 数组 : 数组( array)与矩阵类似,但是维度可以大于2
  3.1 创建 : myarray <- array(vector, dimensions, dimnames)

    其中vector包含了数组中的数据, dimensions是一个数值型向量,给出了各个维度下标的最大值,而 dimnames 是可选的、各维度名称标签的列表

    技术分享

  3.2 访问 : 从数组中选取元素的方式与矩阵相同。上例中,元素z[1,2,3] 为15

  3.3 注意 :

      1) 数组中的数据也只能拥有一种模式

  

4. 数据框 : 由于不同的列可以包含不同模式(数值型、字符型等)的数据,数据框的概念较矩阵来说更为一般。
  4.1 创建 : data.frame(col1, col2, col3 , ...)
      技术分享

  4.2 访问 :  $ 

        技术分享

    为避免过多使用$,可用attach(),detach()和with()/within()来简化代码

    1) attach()和detach() : 函数attach() 可将数据框添加到R的搜索路径中, 函数detach() 将数据框从搜索路径中移除

      attach(dataframe)

      #省略$的代码

      detach(dataframe)

      缺点 : 同名对象会被屏蔽

    2) with()

      with(dataframe, 

          {

            #省略$的代码

          }

      )

      缺点 : 函数with() 的局限性在于,赋值仅在此函数的括号内生效
         如果你需要创建在with() 结构以外存在的对象,使用特殊赋值符<<-替代标准赋值符( <-)即可,它可将对象保存到with() 之外的全局环境中。

R语言学习笔记——数据结构

标签:

原文地址:http://www.cnblogs.com/waxblogs/p/4398278.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!