美文网首页
再学向量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