zoukankan      html  css  js  c++  java
  • R语言-六大数据结构

    R语言有六种基本的数据结构(或者说数据类型吧)。根据数据的维度同质/异质可分为5种数据类型,最后再介绍一种特殊的类型“因子”。

      同质 异质
    1维 原子向量 列表
    2维 矩阵 数据框
    n维 数组  

    对于各种类型的具体操作,本文不展开讲。本文仅介绍它们各自的一些生成方式。

     (1)原子向量

    一个有趣的事情:R中最小的单位并不是“数”,而是“向量”。

    例如:

    > n=5
    > is.vector(n)   #判断n的数据类型是否为向量
    [1] TRUE

    对于生成一个向量,我们可以有多种方式:

    > 1:6
    [1] 1 2 3 4 5 6
    > 8:3
    [1] 8 7 6 5 4 3
    > seq(2,9,by=3)
    [1] 2 5 8
    > c(9,4,5)
    [1] 9 4 5

    (2)列表

    列表可以包含数字、字符串、向量,甚至是列表、矩阵、函数。由list()创建。

    > a=list(1,c(5,2,3),'sfd',T,list(1,3))
    > a
    [[1]]
    [1] 1
    
    [[2]]
    [1] 5 2 3
    
    [[3]]
    [1] "sfd"
    
    [[4]]
    [1] TRUE
    
    [[5]]
    [[5]][[1]]
    [1] 1
    
    [[5]][[2]]
    [1] 3

    (3)矩阵

    二维。由matrix()创建。

    > a=matrix(seq(0,10,by=0.9),nrow=4,byrow=TRUE)  #行数为4;按行输入(缺省按列输入)
    > a
         [,1] [,2] [,3]
    [1,]  0.0  0.9  1.8
    [2,]  2.7  3.6  4.5
    [3,]  5.4  6.3  7.2
    [4,]  8.1  9.0  9.9

    (4)数据框

    数据帧(Data Frame,有人也叫数据框)也是二维结构,其中每一列包含一个变量的所有值。
    数据帧的性质:

    • 行名称唯一。
    • 列名称非空。
    • 存储在数据帧中的数据可以是数字,因子或字符类型。
    • 每列应包含相同数量的数据项。(保证其为二维结构)

    生成数据帧由data.frame()创建。

    > a=data.frame(name=c('Mike','Jane','King','Tom'),height=c(160,155,166,159),weight=c(65,48,55,53))
    > a
      name height weight
    1 Mike    160     65
    2 Jane    155     48
    3 King    166     55
    4  Tom    159     53

    (5)数组

    数组可以是多维的。由函数array()创建。

    > a=array(c(1,4,5,6,7),dim=c(4,3,2))
    > a
    , , 1
    
         [,1] [,2] [,3]
    [1,]    1    7    6
    [2,]    4    1    7
    [3,]    5    4    1
    [4,]    6    5    4
    
    , , 2
    
         [,1] [,2] [,3]
    [1,]    5    4    1
    [2,]    6    5    4
    [3,]    7    6    5
    [4,]    1    7    6

    (6)因子

    因子是用于对数据进行分类并将其存储为级别的数据对象。 它们可以存储字符串和整数。 它们在具有有限数量的唯一值的列中很有用。 像“男性”,“女性”和True,False等。它们在统计建模的数据分析中很有用。
    使用factor()函数通过将向量作为输入创建因子。

    > a=c(T,F,F,T,T,T,F)
    > a
    [1]  TRUE FALSE FALSE  TRUE  TRUE  TRUE FALSE
    > factor(a)
    [1] TRUE  FALSE FALSE TRUE  TRUE  TRUE  FALSE
    Levels: FALSE TRUE

    也可由数据帧创建因子:

    > a=data.frame(name=c('Mike','Jane','King','Tom'),height=c(160,155,166,159),weight=c(65,48,55,53))
    > a
      name height weight
    1 Mike    160     65
    2 Jane    155     48
    3 King    166     55
    4  Tom    159     53
    > a$name
    [1] Mike Jane King Tom 
    Levels: Jane King Mike Tom

    参考资料:

    1.《高级R语言编程指南》哈德利·威克汉姆(Hadley Wickham)著

    2.  https://www.w3cschool.cn/r/        R语言教程_w3cscool

  • 相关阅读:
    WPF 获取本机所有字体拿到每个字符的宽度和高度
    WPF 自己封装 Skia 差量绘制控件
    WPF 漂亮的现代化控件 新 ModernWPF 界面库
    dotnet 在 UOS 国产系统上使用 MonoDevelop 创建 GTK 全平台带界面应用
    dotnet 在 UOS 国产系统上使用 MonoDevelop 进行拖控件开发 GTK 应用
    dotnet 在 UOS 国产系统上安装 MonoDevelop 开发工具
    通过java采集PC麦克风音频及播放wav音频文件
    nginx-http之ssl(九)
    nginx-http之proxy(八)
    nginx-http之upstream(七)
  • 原文地址:https://www.cnblogs.com/maoerbao/p/11304065.html
Copyright © 2011-2022 走看看