R 向量

向量是 R 中用于存储相似类型数据的基本数据结构。例如,

假设我们需要记录 5 名员工的年龄。与创建 5 个单独的变量相比,我们可以简单地创建一个向量。

Vector of Age
向量的元素

在 R 中创建向量

在 R 中,我们使用 c() 函数来创建向量。例如,

# create vector of string types
employees <- c("Sabby", "Cathy", "Lucy")

print(employees)

# Output: [1] "Sabby" "Cathy" "Lucy"

在上面的示例中,我们创建了一个名为 employees 的向量,其元素为:SabbyCathyLucy

在这里,c() 函数通过组合 employees 的三个不同元素来创建一个向量。


在 R 中访问向量元素

在 R 中,向量中的每个元素都与一个数字相关联。该数字称为向量索引。

我们可以使用索引号 (1, 2, 3 …) 来访问向量的元素。例如,

# a vector of string type
languages <- c("Swift", "Java", "R")

# access first element of languages
print(languages[1])  # "Swift"

# access third element of languages
print(languages[3]). # "R"

在上面的示例中,我们创建了一个名为 languages 的向量。向量的每个元素都与一个整数相关联。

Indexing of R Vector
R 中的向量索引

这里,我们使用了向量索引来访问向量元素

  • languages[1] - 访问第一个元素 "Swift"
  • languages[3] - 访问第三个元素 "R"

注意:在 R 中,向量索引总是从 1 开始。因此,向量的第一个元素位于索引 1,第二个元素位于索引 2,依此类推。


修改向量元素

要更改向量的元素,我们可以简单地将新值重新分配给特定索引。例如,

dailyActivities <- c("Eat","Repeat")
cat("Initial Vector:", dailyActivities)

# change element at index 2
dailyActivities[2] <- "Sleep"

cat("\nUpdated Vector:", dailyActivities)

输出

Initial Vector: Eat Repeat
Updated Vector: Eat Sleep

在这里,我们通过简单地重新赋值,将索引 2 处的向量元素从 "Repeat" 更改为 "Sleep"


R 中的数值向量

与字符串类似,我们使用 c() 函数来创建数值向量。例如,

# a vector with number sequence from 1 to 5 
numbers <- c(1, 2, 3, 4, 5)

print(numbers)

# Output: [1] 1 2 3 4 5

在这里,我们使用 C() 函数创建了一个名为 numbers 的数值序列向量。

但是,有一种更有效的方法来创建数值序列。我们可以使用 : 运算符而不是 C()

在 R 中创建数字序列

在 R 中,我们使用 : 运算符来创建具有数字序列值的向量。例如,

# a vector with number sequence from 1 to 5 
numbers <- 1:5

print(numbers)

输出

[1] 1 2 3 4 5

在这里,我们使用 : 运算符创建了一个名为 numbers 的向量,其数值序列为 15


在 R 中重复向量

在 R 中,我们使用 rep() 函数来重复向量的元素。例如,

# repeat sequence of vector 2 times
numbers <- rep(c(2,4,6), times = 2)

cat("Using times argument:", numbers)

输出

Using times argument: 2 4 6 2 4 6

在上面的示例中,我们创建了一个包含元素 2, 4, 6 的数值向量。注意代码,

rep(numbers, times=2)

这里,

  • numbers - 要重复其元素的向量
  • times = 2 - 将向量重复两次

我们可以看到我们重复了整个向量两次。但是,我们也可以重复向量的每个元素。为此,我们使用 each 参数。

让我们看一个例子。

# repeat each element of vector 2 times
numbers <- rep(c(2,4,6), each = 2)

cat("\nUsing each argument:", numbers)

输出

Using each argument: 2 2 4 4 6 6

在上面的示例中,我们创建了一个包含元素 2, 4, 6 的数值向量。注意代码,

rep(numbers, each = 2)

这里,each = 2 - 将向量的每个元素重复两次


循环遍历 R 向量

我们也可以使用 for 循环来访问向量的所有元素。例如,

在 R 中,我们也可以使用 for 循环 来遍历向量的每个元素。例如,

numbers <- c(1, 2, 3, 4, 5)

# iterate through each elements of numbers
for (number in numbers) {
    print(number)
}

输出

[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

R 中向量的长度

我们可以使用 length() 函数来查找向量中存在的元素数量。例如,

languages <- c("R", "Swift", "Python", "Java")

# find total elements in languages using length()
cat("Total Elements:", length(languages))

输出

Total Elements: 4

这里,我们使用 length() 来查找 languages 向量的长度。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战