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

数据类型和矩阵

R 有几种基本数据类型,允许在向量和变量中存储不同的信息。

基本数据类型

R 中最常用的三种主要数据类型是:

  1. numeric:十进制数(例如,4.5、10.0)或整数。
  2. character:用双引号或单引号括起来的文本字符串(例如,"Alice"、'Data')。
  3. logical:布尔值,只能是TRUE或FALSE。在 R 中,您还可以使用缩写 T 或 F (不过为了清楚起见,建议使用完整版本)。
R
# Examples of different types
score <- 95.5          # numeric
player_name <- "Marco"  # character
is_winner <- TRUE       # logical

矩阵

R 中的矩阵是向量的二维扩展。与向量一样,矩阵只能包含单一类型的元素(通常是数字)。

您可以使用 matrix() 函数创建一个矩阵,提供数据向量并指定行数 (nrow) 或列数 (ncol):

R
# Create a 2x3 matrix with values from 1 to 6
mat <- matrix(1:6, nrow = 2, ncol = 3)
print(mat)

默认情况下,R 逐列填充矩阵。

访问元素

要访问矩阵中的特定元素,请使用方括号 [row, column]:

R
# Extract the element at the first row, second column
value <- mat[1, 2]

# Extract an entire row by leaving the column field empty
first_row <- mat[1, ]

# Extract an entire column
second_col <- mat[, 2]

因素

R 中的因子 是用于表示分类变量(属于有限类别集的定性数据,例如性别或教育水平)的特殊数据结构。它们在统计分析中非常重要:

R
sizes <- c("M", "L", "M", "S")
size_factor <- factor(sizes)
print(size_factor) # Also shows the Levels: S M L

组合数据:cbind 和 rbind

我们可以通过使用 cbind() (列绑定)按列绑定向量或矩阵或使用 rbind() (行绑定)按行绑定它们:

R
v1 <- c(1, 2)
v2 <- c(3, 4)

# Creates a 2x2 matrix by placing v1 and v2 side-by-side as columns
combined <- cbind(v1, v2)

自己尝试一下

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

声明一个名为 is_active 的逻辑变量设置为 TRUE,并将一个名为 user_name 的字符变量设置为“Alice”。

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

对不同行上的两个变量使用 <- 运算符。

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

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

创建一个名为 mat 的矩阵,其中包含 1 到 6 的值,结构为 2 行 (nrow = 2) 和 3 列 (ncol = 3)。

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

使用矩阵(1:6, nrow = 2, ncol = 3) 函数。

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

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

给定已经创建的矩阵mat,提取位于第一行第三列的元素,并将其保存在变量val中。

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

使用方括号访问元素: val <- mat[1, 3]

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

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

从向量类别创建一个因子并将其分配给变量 cat_factor。

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

使用因子()函数:cat_factor <-因子(类别)

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

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

给定向量 col1 和 col2,使用 cbind() 将它们组合为矩阵的列,并将结果分配给 my_matrix。

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

使用: my_matrix <- cbind(col1, col2)

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