R语言 矢量类型

R语言 矢量类型

R编程 中的 向量 与C语言中的数组相同,都是用来保存同一类型的多个数据值。一个主要的关键点是,在R语言中,向量的索引将从 “1 “开始,而不是从 “0 “开始。向量是R语言中最基本的数据类型,即使创建的单个对象也是以向量的形式存储的。向量只不过是其他语言中定义的数组。向量包含一连串同质的数据类型。 R语言中主要有两种类型的向量,下面给出了R语言中向量的完整分类。

  1. 原子向量
    • 整数
    • 双数
    • 逻辑的
    • 字符型
    • 复数
    • 原数
  2. 递归矢量

  • 列表

原子向量和递归向量(list)的主要区别是,原子向量是同质的,而递归向量(list)可以是异质的。向量有三个共同的属性。

  1. 类型, typeof(), 它是什么。
  2. 长度, length() , 它包含多少个元素。
  3. Attributes, attributes() , 额外的任意元数据。

原子向量

原子向量可能是R编程语言中最基本的数据结构。原子向量与一维数组不同:数组有一个长度为1的dim属性,而向量没有这个属性。原子向量也与列表不同。向量的元素都是相同的类型,而列表可以包含任何任意的类型。原子向量是用 c() 函数或向量函数构造的。

整数向量

整数向量在R语言中也被称为数字向量,包括negative和正整数。 在R语言中,数字默认为双数,所以要做一个整数,要在数字后面放L。

例子

# R program to create integer Vectors 
  
# creation of integer vectors
# using c() function. 
v1 <- c(1L, 4L, 2L, 5L) 
  
# print vector
print(v1)
  
# display type of vector 
print(typeof(v1))

输出

[1] 1 4 2 5
[1] "integer"

双向量

双向量在R中也被称为数字向量,这包括有精度的小数值。 在R中,数字默认为双向量。

例子

# R program to create double Vectors 
  
# creation of double vectors
# using c() function. 
v1 <- c(4, 5, 6, 7) 
  
# print vector
print(v1)
  
# display type of vector 
print(typeof(v1))

输出

[1] 4 5 6 7
[1] "double"

逻辑向量

逻辑向量是最简单的原子向量类型,因为它们只取三种可能的值。FALSE, TRUE, 和 NA.逻辑向量可以用比较运算符构建。我们也可以用 c() 来创建这些向量。

例子

# R program to create Logical Vectors 
  
# Creating logical vector 
# using c() function 
v1 <- c(TRUE, FALSE, TRUE, NA) 
  
# print vector
print(v1)
  
# display type of vector 
print(typeof(v1))

输出

[1]  TRUE FALSE  TRUE    NA
[1] "logical"

字符向量

字符向量是最复杂的原子向量类型,因为字符向量的每个元素都是一个字符串,一个字符串可以包含任意数量的数据。R中的字符串可以包含字母、数字和符号。在R中,表示一个值是字符类型的最简单的方法是将该值包裹在单引号或双引号中。我们甚至可以使用 as.character() 函数将一个值存储为一个字符,或者将一个值转换为字符数据类型。

例子

# R program to create Character Vectors 
  
# by default numeric values  
# are converted into characters 
v1 <- c('geeks', '2', 'hello', 57)  
  
# print vector
print(v1)
  
# display type of vector 
print(typeof(v1))

输出

[1] "geeks" "2"     "hello" "57"   
[1] "character"

复数向量

复数数据类型是用来存储具有虚数成分的数字。复数的例子有1+2i,3i,4-5i,-12+6i等。

例子

# R program to create complex Vectors 
  
# create complex vector
v1 <- c(1+2i, 3i, 4-5i, -12+6i)  
  
# print vector
print(v1)
  
# display type of vector 
print(typeof(v1))

输出

[1]   1+2i   0+3i   4-5i -12+6i
[1] "complex"

原始向量

原始向量存储原始字节的数据。制作原始向量会变得很复杂,但原始 向量可以用 raw() 函数 来创建 。

例子

# R program to illustrate raw vector
  
# Creating raw vector using raw()
print(raw(3))
  
# Print the type of vector
print(typeof(raw(3)))

输出

[1] 00 00 00
[1] "raw"

递归向量

列表的复杂度比原子向量要高,因为列表可以包含其他列表。这使得它们适合于表示分层或树状结构。我们可以用 list() 创建一个列表 。

例子

# R program to create recursive Vectors 
  
# create recursive Vectors
l1 <- list(1, 2, 3)  
  
# print vector
print(l1)
  
# display type of vector 
print(typeof(l1))

输出

[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3

[1] "list"

列表中的元素可以被赋予名称,并且可以使用这些名称来访问它们。列表在函数中是非常有用的。因为 R 中的函数只能返回一个对象,你可以把许多不同种类的结果 “装订 “到一个函数可以返回的单一对象中。列表不像矢量那样打印到控制台。相反,列表中的每个元素都在一个新的行上开始。元素是由双括号来索引的。如果列表中的元素被命名,它们可以用 $ 符号来引用。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程