📜  R – 矢量

📅  最后修改于: 2022-05-13 01:55:34.001000             🧑  作者: Mango

R – 矢量

在数据科学、统计计算或科学研究方面,R 编程是最流行的语言之一。 R 编程广泛用于机器学习,它非常高效且用户友好。它提供了使用几行代码进行大型统计操作的灵活性。

R中的向量与C语言中的数组相同,用于保存相同类型的多个数据值。一个主要的关键点是,在 R 中,向量的索引将从“1”开始,而不是从“0”开始。我们也可以创建数字向量和字符向量。

R中的向量

载体类型

向量具有 R 中使用的不同类型。以下是一些向量类型:

  • 数值向量
    数值向量是那些包含数值的向量,例如整数、浮点数等。
    # R program to create numeric Vectors
      
    # creation of vectors using c() function.
    v1 <- c(4, 5, 6, 7)
      
    # display type of vector
    typeof(v1)
      
    # by using 'L' we can specify that we want integer values.
    v2 <- c(1L, 4L, 2L, 5L) 
      
    # display type of vector
    typeof(v2)
    

    输出:

    [1] "double"
    [1] "integer"
  • 字符向量
    字符向量包含字母数字值和特殊字符。
    # R program to create Character Vectors
      
    # by default numeric values 
    # are converted into characters
    v1 <- c('geeks', '2', 'hello', 57) 
      
    # Displaying type of vector
    typeof(v1)
    

    输出:

    [1] "character"
  • 逻辑向量
    对于 Null 值,逻辑向量包含布尔值,例如 TRUE、FALSE 和 NA。
    # R program to create Logical Vectors
      
    # Creating logical vector
    # using c() function
    v1 <- c(TRUE, FALSE, TRUE, NA)
      
    # Displaying type of vector
    typeof(v1)
    

    输出:

    [1] "logical"

创建向量

创建向量有不同的方法。通常,我们使用“c”将不同的元素组合在一起。

# R program to create Vectors
  
# we can use the c function
# to combine the values as a vector.
# By default the type will be double
X <- c(61, 4, 21, 67, 89, 2)
cat('using c function', X, '\n')
  
# seq() function for creating
# a sequence of continuous values.
# length.out defines the length of vector.
Y <- seq(1, 10, length.out = 5) 
cat('using seq() function', Y, '\n') 
  
# use':' to create a vector 
# of continuous values.
Z <- 2:7
cat('using colon', Z)

输出:

using c function 61 4 21 67 89 2 
using seq() function 1 3.25 5.5 7.75 10 
using colon 2 3 4 5 6 7

访问向量元素

访问向量中的元素是对向量的单个元素执行操作的过程。我们可以通过多种方式访问向量的元素。最常见的是使用'[]',符号。

# R program to access elements of a Vector
  
# accessing elements with an index number.
X <- c(2, 5, 18, 1, 12)
cat('Using Subscript operator', X[2], '\n')
  
# by passing a range of values
# inside the vector index.
Y <- c(4, 8, 2, 1, 17)
cat('Using combine() function', Y[c(4, 1)], '\n')
  
# using logical expressions
Z <- c(5, 2, 1, 4, 4, 3)
cat('Using Logical indexing', Z[Z>4])

输出

Using Subscript operator 5 
Using combine() function 1 4 
Using Logical indexing 5

修改向量

向量的修改是对向量的单个元素应用一些操作以更改其在向量中的值的过程。我们可以通过不同的方式修改向量:

# R program to modify elements of a Vector
  
# Creating a vector
X <- c(2, 7, 9, 7, 8, 2)
  
# modify a specific element
X[3] <- 1
X[2] <-9
cat('subscript operator', X, '\n')
  
# Modify using different logics.
X[X>5] <- 0
cat('Logical indexing', X, '\n')
  
# Modify by specifying 
# the position or elements.
X <- X[c(3, 2, 1)]
cat('combine() function', X)

输出

subscript operator 2 9 1 7 8 2 
Logical indexing 2 0 1 0 0 2 
combine() function 1 0 2

删除向量

向量的删除是删除向量的所有元素的过程。这可以通过将其分配给 NULL 值来完成。

# R program to delete a Vector
  
# Creating a Vector
M <- c(8, 10, 2, 5)
  
# set NULL to the vector
M <- NULL 
cat('Output vector', M)

输出:

Output vector NULL

对向量的元素进行排序

sort()函数用于帮助我们按升序或降序对值进行排序。

# R program to sort elements of a Vector
  
# Creation of Vector
X <- c(8, 2, 7, 1, 11, 2)
  
# Sort in ascending order
A <- sort(X)
cat('ascending order', A, '\n')
  
# sort in descending order 
# by setting decreasing as TRUE
B <- sort(X, decreasing = TRUE)
cat('descending order', B)

输出:

ascending order 1  2  2  7  8 11
descending order 11  8  7  2  2  1