zoukankan      html  css  js  c++  java
  • R语言中的数据结构

    R语言的数据结构分为:向量,数组,矩阵,数据框

    1,向量:

    vector(mode = "logical", length = 0)

    这里,mode参数表示的是该向量储存数据的类型,length表示该向量的长度。
    ex:x<-vector(1:10)y<-c("a","b","c","d")

    2,矩阵:
    matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,dimnames = NULL)

    这里data是该向量要储存的数据,nrow和ncol,顾名思义是指这个矩阵有多少行和多少列,需要指出的是,data的个数需要等于nrow乘以ncol。byrow表示数据是否以行的方式进行排列,我们会在下面的例子中阐述。dimnames与array中的dimnames一致。

    > x = matrix(data=1:6,nrow=2,ncol=3,byrow=T)
    > x
         [,1] [,2] [,3]
    [1,]    1    2    3
    [2,]    4    5    6
    > x = matrix(data=1:6,nrow=2,ncol=3,byrow=F)
    > x
         [,1] [,2] [,3]
    [1,]    1    3    5
    [2,]    2    4    6

    数组:数组可以使二维数组,也可以是多维数组

    数组(包括向量和矩阵)。

    数组可以用来储存数值型(numeric)、逻辑型(logical)和字符型(character)三种类型的数据。

    例如:

    储存字符型数据 
    
    > x = array(rep("a",6),dim=c(2,3))
    > x
         [,1] [,2] [,3]
    [1,] "a"  "a"  "a" 
    [2,] "a"  "a"  "a" 
    

     例子2> x = array(rpois(24,10),dim=c(2,3,4),dimnames=list(c("male","female"),c("apple","banana","pear"),c("Mon","Tue","Wed","Thu")))

    > x
    , , Mon
    
           apple banana pear
    male      11     12   10
    female     9      9    9
    
    , , Tue
    
           apple banana pear
    male       8     15    7
    female     3      5   10
    
    , , Wed
    
           apple banana pear
    male       9      9   13
    female    12     12    9
    
    , , Thu
    
           apple banana pear
    male      11      5    9
    female     9      9    8



    第二种:列表。

    列表是R语言中使用非常广泛的一种结构,他的主要特点就是不对齐的数据格式。是用list函数进行创建。

    例如:

    > x = list(fruit=c("apple","banana","pear"),price=c(1,1,1.5),market=c("newabest"))
    > x
    $fruit
    [1] "apple"  "banana" "pear"  
    
    $price
    [1] 1.0 1.0 1.5
    
    $market
    [1] "newabest"
    
    

    第三种:数据框。

    
    

    数据框实际上是一种非常实用的数据结构。它实际上是一个表,这个表的列与列之间可以储存不同的数据类型,但是同一列必须是同一种数据结构。如:

    
    
    > fruit=c("apple","banana","pear")
    > price=c(1,1,1.5)
    > buy=c(T,F,F)
    > x=data.frame(fruit,price,buy)
    > x
       fruit price   buy
    1  apple   1.0  TRUE
    2 banana   1.0 FALSE
    3   pear   1.5 FALSE
    
    
    

    同样的,我们可以使用x$fruit、x$price和x$buy来调用这三列数据。

     
     
  • 相关阅读:
    预备作业02 : 体会做中学(Learning By Doing)
    7-1 货币转换
    秋季学校总结
    人生路上对我影响最大的三个老师
    自我介绍
    2019寒假作业3(抓老鼠啊~亏了还是赚了?)编程总结
    人生路上对我影响最大的三位老师
    自我介绍
    秋季学期学习总结
    7-1 抓老鼠啊~亏了还是赚了?
  • 原文地址:https://www.cnblogs.com/yupeter007/p/5254901.html
Copyright © 2011-2022 走看看