R 向量

向量

向量就是一系列相同类型的元素组成的列表。

为了将一系列元素组合成一个向量,我们需要使用 c() 函数,并使用逗号分隔每个元素。

在下面的例子中,我们创建一个名为 fruits 的向量变量,该变量由多个字符串组合而成:

实例

# 字符串向量
fruits <- c("banana", "apple", "orange")

# 打印 fruits
fruits

亲自试一试

在这个例子中,我们创建一个由数值组合而成的向量:

实例

# 数值向量  
numbers <- c(1, 2, 3)  
  
# 打印 numbers  
numbers

亲自试一试

要创建一个包含一系列数值的向量,请使用 : 运算符:

实例

# 包含一系列数值的向量  
numbers <- 1:10  
  
numbers

亲自试一试

您还可以创建包含一系列小数的向量,但请注意,如果最后一个元素不属于该序列,则不会使用它:

实例

# 包含一系列小数的向量  
numbers1 <- 1.5:6.5  
numbers1  
  
# 创建一个包含一系列小数的向量,其中最后一个元素未被使用  
numbers2 <- 1.5:6.3  
numbers2

结果:

[1] 1.5 2.5 3.5 4.5 5.5 6.5
[1] 1.5 2.5 3.5 4.5 5.5

亲自试一试

在下面的例子中,我们创建一个由逻辑值组成的向量:

实例

# 逻辑值向量
log_values <- c(TRUE, FALSE, TRUE, FALSE)

log_values

亲自试一试

向量长度

要找出向量中有多少个元素,请使用 length() 函数:

实例

fruits <- c("banana", "apple", "orange")

length(fruits)

亲自试一试

排序向量

要对向量中的元素进行字母排序或数字排序,请使用 sort() 函数:

实例

fruits <- c("banana", "apple", "orange", "mango", "lemon")
numbers <- c(13, 3, 5, 7, 20, 2)

sort(fruits)  # 对字符串进行排序
sort(numbers) # 对数字进行排序

亲自试一试

访问向量

您可以通过引用括号 [] 内的索引号来访问向量项。第一项的索引为 1,第二项的索引为 2,依此类推:

实例

fruits <- c("banana", "apple", "orange")

# 访问第一个元素 (banana)
fruits[1]

亲自试一试

您还可以通过使用 c() 函数引用不同的索引位置来访问多个元素:

实例

fruits <- c("banana", "apple", "orange", "mango", "lemon")

# 访问第一个和第三个元素(banana 和 orange)
fruits[c(1, 3)]

亲自试一试

您还可以使用负索引号来访问除指定元素之外的所有元素:

实例

fruits <- c("banana", "apple", "orange", "mango", "lemon")

# 访问除第一个元素之外的所有元素
fruits[c(-1)]

亲自试一试

更改元素

要更改特定元素的值,请引用其索引号:

实例

fruits <- c("banana", "apple", "orange", "mango", "lemon")  
  
# 将 "banana" 更改为 "pear"  
fruits[1] <- "pear"  
  
# 打印 fruits  
fruits

亲自试一试

重复向量

要重复向量,请使用 rep() 函数:

实例

重复每个值:

repeat_each <- rep(c(1,2,3), each = 3)

repeat_each

亲自试一试

实例

重复向量的序列:

repeat_times <- rep(c(1,2,3), times = 3)

repeat_times

亲自试一试

实例

独立地重复每个值:

repeat_indepent <- rep(c(1,2,3), times = c(5,2,1))

repeat_indepent

亲自试一试

生成序列化向量

上面的示例之一向您展示了如何使用 : 运算符创建一个包含序列化数值的向量:

实例

numbers <- 1:10

numbers

亲自试一试

要在序列中进行更大或更小的步长,请使用 seq() 函数:

实例

numbers <- seq(from = 0, to = 100, by = 20)

numbers

亲自试一试

注意:seq() 函数有三个参数:from 表示序列的起始位置,to 表示序列的结束位置,by 表示序列的间隔。