继续学R:R的6大基本数据类型(原子向量)

继续学R:R的6大基本数据类型(原子向量)

在学一门编程语言时,避免不了要和数据打交道,那么数据在这门语言中是如何存储和使用的呢?这就涉及到了数据类型。

R对象 & 原子向量

R语言中使用R对象(R-object)来存储数据,常见的R对象有:

  • 向量 / Vectors
  • 列表 / Lists
  • 矩阵 / Matrices
  • 数组 / Arrays
  • 因子 / Factors
  • 数据帧 / Data Frames

其中向量 / Vectors是最基本的R对象,有六种类型的原子向量(atomic vectors),分别是: 逻辑型/logical、整型/ integer、数字/numeric、复数/complex、字符/character、原生/raw

原子向量对比

我个人理解原子向量就好比其它编程语言中的基本数据类型,除了直接使用以外还可以用于构造其它复杂的数据类型,这里我先不研究那些复杂的类型都咋玩,先来对比一些这些基本类型吧。

在这之前,我们先介绍一个函数class(),这个函数作用是返回对象的类型,大概和Python中的type()类似吧,比如print(class(1))会返回

[1] “numeric”

下边我通过一个表格来对比一下这6大原子类型,并且标注出对应的Python语言中的类型
类型|例子|代码|输出|Python类型
—-|—-|—-|—-|—-
整型/ integer|1L, 100L|v<-100L; print(class(v));|[1] “integer”|int
数字/numeric|123, 123.45|v<-123.45; print(class(v));|[1] “numeric”|float
复数/complex|3 + 2i|v<-3 + 2i; print(class(v));|[1] “integer”|complex
逻辑型/logical|TRUE, FALSE|v<-TRUE; print(class(v));|[1] “logical”|bool
字符/character|’a’, “abc”, ‘abc’|v<-"abc"; print(class(v));|[1] “character”|str
原生/raw|”Hello” is stored as 48 65 6c 6c 6f|v<-charToRaw("Hello"); print(class(v));|[1] “raw”|bytes

由此看来,R中的6大原子类型和Python中的类型也差不多啦(请叫我差不多先生)。

赋值

因为例子代码中用到了赋值语句,所以多啰嗦两句,很多编程语言都是使用诸如:var = 1 类似的赋值方式。R语言的赋值让我好一通迷糊:一是好多赋值符号;二是支持向右赋值。

向左赋值

向左赋值可以使用:
=
<-
<<-

向右赋值

向右赋值可以使用:
->
->>

至于这些符号有啥区别,我找了一下,找到一些相关文章,但是没详细去研读,用到的时候再说吧,列到相关链接里了,反正现在我知道的这些已经够我用的啦😀

相关链接


This page is synchronized from the post: 继续学R:R的6大基本数据类型(原子向量)

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×