美文网首页
再学向量vector

再学向量vector

作者: 小贝学生信 | 来源:发表于2020-06-14 14:13 被阅读0次

    在之前其实或多或已经认识了向量,参考刚入门R时的笔记

    一、向量的分类

    向量是数据结构的基础,一个向量中的各个值必须是同种类型的;常用的可分为三大类:

    • 字符型 character
      创建时一定要注意引号
    • 数值型 numeric
      具体可分为整型integer与双精度型double;
      R 中默认数值是双精度型的。

    如果想要创建整型数值,可以在数字后面加一个 L,例如1L

    • 逻辑性 logical
      即大写的,不加引号的TRUEFALSE

    • 特殊类型
      1、空向量NULL:指长度为0的向量,有时会在报错时遇到。(标量是长度为1的向量)
      2、NA 空值即缺失值,此外在数值型变量中还会涉及到NaN、Inf分别表示不可能的值与无限大的值。


      1
    判断向量类型可用typeof()函数
    typeof(letters)
    
    typeof(1:10)
    
    type(1)
    type(1L)
    

    之前学过class()也可判断对象类型,二者区别暂时还没有完全明白。

    二、向量的属性/特性

    任何向量都可以通过其特性来附加任意元数据,R对于向量也有基本的特性规定,如名字,类等。可用attributes()函数查看

    1、名字--最基本的特性
    • 所有类型的向量都是可以命名的,可以在使用c() 函数创建向量时进行命名。也可通过names()函数修改
    a <- c(1, 2, 5)
    attributes(a)
    a <- c(x = 1, y = 2, z = 5)
    attributes(a)
    names(a) <- c("x1", "y1", "z1")
    attributes(a)
    
    2
    2、类class--与S3泛型函数直接相关
    • 此特性不单单局限于向量,而是更多的是针对对象而言。
    • 可参看S3泛型函数的相关笔记
    3、因子level特性
    • 因子是在整型向量的基础上构建的,添加了水平特性,同时也修改为了类为factor
    rain <- factor(a, levels = c("A", "B", "C"))
    attributes(rain)
    typeof(rain)
    
    3

    4、单独设置特性值

    • attr()函数可设置一个新的特性及其对应的特性值
    x <- 1:10
    attr(x, "greeting") <- "Hi!"
    attr(x, "farewell") <- "Bye!"
    attributes(x)
    
    4

    三、向量的操作

    1、向量类型转换
    • R提供了完备的基础函数as.*()族函数,可见这篇笔记的最后部分
    • 实际应用时,可先用is.*()判断类型,根据返回的真假情况,再进行转换。

    值得注意的是:在数值环境中使用逻辑向量时,TRUE 转换为 1, FALSE 转换为 0。

    2、取子集

    参考刚入门R时的笔记,提d到了很多方法。

    相关文章

      网友评论

          本文标题:再学向量vector

          本文链接:https://www.haomeiwen.com/subject/keqgtktx.html