跳转到主要内容
模块 1 · 第 1 课(共 2)课程中的1/10~10 min
模块课程(1/2)

变量和向量

R 是一种专门用于统计数据分析、数据可视化和机器学习的编程语言和软件环境。

与其他通用语言不同,R 是由统计学家为统计学家设计的,使得向量和矩阵操作以及聚合操作极其直观。

变量和赋值

在 R 中,为变量赋值的标准约定是使用左箭头运算符 <-,由小于字符 < 后跟连字符 - 组成。

尽管 = 运算符在大多数情况下都有效,但 R 社区更喜欢 <- 来清楚地区分变量赋值和在函数内传递参数。

R
# Assign the value 42 to the variable age
age <- 42

# We can print the value using the print() function
print(age)

向量

R 中的基本数据结构是向量。向量是相同类型元素的有序集合。在 R 中,即使是单个数字(标量)在技术上也被视为长度为 1 的向量。

要创建具有多个元素的向量,请使用串联函数 c():

R
# Create a vector with the first four even numbers
even_numbers <- c(2, 4, 6, 8)
print(even_numbers)

矢量化运算

R 支持矢量化操作。当您将算术运算符应用于向量时,R 会将运算单独应用于向量的每个元素(逐个元素):

R
prices <- c(10, 20, 30)

# Multiply each price by 2
doubled_prices <- prices * 2
# The result will be c(20, 40, 60)

如果我们对两个相同长度的向量进行操作,则操作是逐个元素执行的:

R
v1 <- c(1, 2, 3)
v2 <- c(10, 20, 30)
v3 <- v1 + v2
# The result will be c(11, 22, 33)

序列和向量名称

R 提供了用于生成数字序列的强大工具。除了 : 运算符(例如 1:10)之外,我们还可以使用 seq() 函数来定义自定义增量:

R
# Generates numbers from 1 to 5 with an increment of 0.5
custom_seq <- seq(from = 1, to = 5, by = 0.5)

此外,向量的元素可以具有关联的名称,使它们更容易识别,可以使用 names() 函数设置:

R
temperatures <- c(22, 24)
names(temperatures) <- c("Mon", "Tue")

自己尝试一下

锻炼#r.m1.l1.e1
尝试:0加载中...

使用 <- 运算符将值 10 分配给变量 x,将值 20 分配给变量 y。

正在加载编辑器...
显示提示

Scrivi: x <- 10 e nella riga successiva: y <- 20

3 次尝试后可用的解决方案

锻炼#r.m1.l1.e2
尝试:0加载中...

创建一个包含值 5、10、15、20 的向量并将其分配给名为 numbers 的变量。

正在加载编辑器...
显示提示

像这样使用 c() 函数:numbers <- c(5, 10, 15, 20)

3 次尝试后可用的解决方案

锻炼#r.m1.l1.e3
尝试:0加载中...

给定向量 v1 和 v2,计算它们的总和并将结果分配给变量total。

正在加载编辑器...
显示提示

Somma dittamente i due vettori: 总计 <- v1 + v2

3 次尝试后可用的解决方案

锻炼#r.m1.l1.e4
尝试:0加载中...

使用 seq() 函数创建一个从 1 到 10 的数字序列,增量为 2,并将其分配给变量 my_seq。

正在加载编辑器...
显示提示

使用 seq() 函数: my_seq <- seq(from = 1, to = 10, by = 2)

3 次尝试后可用的解决方案

锻炼#r.m1.l1.e5
尝试:0加载中...

给定向量 sales <- c(100, 150),使用 names() 函数将名称“Mon”和“Tue”分配给向量。

正在加载编辑器...
显示提示

设置名称(销售) <- c('周一', '周二')

3 次尝试后可用的解决方案