zoukankan      html  css  js  c++  java
  • 第二章 R语言数据结构

    R语言存储数据的结构包括:标量、向量、矩阵、数组、数据框和列表;可以处理的数据类型包括:数值型、字符型、逻辑型、复数型和原生型。

    数据结构

    向量

    向量是用来存储数值型、字符型或逻辑型数据的一维数组。单个向量中的数据类型必须一致。

    a <- c(1,2,3,4,5,6)
    b <- c("one","two","three")
    c <- c(TRUE,TRUE,FALSE)
    
    矩阵

    矩阵是一个二维数组,每个元素的数据类型一致。

    > y <- matrix(1:20,nrow = 4,ncol = 5);
    > y
         [,1] [,2] [,3] [,4] [,5]
    [1,]    1    5    9   13   17
    [2,]    2    6   10   14   18
    [3,]    3    7   11   15   19
    [4,]    4    8   12   16   20
    
    数组

    数组与矩阵类似,但是维度可以大于2。像矩阵一样,数组中的元素类型也必须一致。

    > dim1 <- c("A1","A2");
    > dim2 <- c("B1","B2","B3");
    > dim3 <- c("C1","C2","C3","C4");
    > z <- array(1:24,c(2,3,4),dimnames = list(dim1,dim2,dim3));
    > z
    , , C1
    
       B1 B2 B3
    A1  1  3  5
    A2  2  4  6
    
    , , C2
    
       B1 B2 B3
    A1  7  9 11
    A2  8 10 12
    
    , , C3
    
       B1 B2 B3
    A1 13 15 17
    A2 14 16 18
    
    , , C4
    
       B1 B2 B3
    A1 19 21 23
    A2 20 22 24
    
    数据框

    数据框不同的列可以包含不同类型的数据,相对于数组,数据框更加灵活。

    > partionId <- c(1,2,3,4);
    > age <- c(22,33,45,67);
    > diabetes <- c("Type1","Type2","Type1","Type1");
    > status <- c("Poor","Good","Excellent","Perfect");
    > partionData <- data.frame(partionId,age,diabetes,status);
    > partionData
      partionId age diabetes    status
    1         1  22    Type1      Poor
    2         2  33    Type2      Good
    3         3  45    Type1 Excellent
    4         4  67    Type1   Perfect
    
    列表

    列表是R语言中数据类型最复杂的一种。

    > g <- "My First Class!";
    > h <- c(1,2,3,4,5,6);
    > j <- matrix(1:10,nrow = 10);
    > k <- c("one","two","three");
    > mylist <- list(title=g,ages=h,j,k);
    > mylist
    $title
    [1] "My First Class!"
    
    $ages
    [1] 1 2 3 4 5 6
    
    [[3]]
          [,1]
     [1,]    1
     [2,]    2
     [3,]    3
     [4,]    4
     [5,]    5
     [6,]    6
     [7,]    7
     [8,]    8
     [9,]    9
    [10,]   10
    
    [[4]]
    [1] "one"   "two"   "three"
    
  • 相关阅读:
    图解插入排序--直接插入排序
    在项目中代替DevExpress(一)
    java web servlet
    一元夺宝项目设计(上)
    一元夺宝项目设计(中)
    一元夺宝项目设计(下)
    ORM之四:调用入口与调用示例
    ORM之三:DbProvider与DbFactory
    ORM之二:核心接口与扩展操作
    ORM之一:适合我的ORM
  • 原文地址:https://www.cnblogs.com/taro/p/6571742.html
Copyright © 2011-2022 走看看