R 数据类型:初学者的全面指南

你好,有抱负的 R 语言程序员!我很高兴能成为你探索 R 数据类型世界的向导。作为教编程多年的我,可以向你保证,理解数据类型就像是写小说前学习字母表一样。这是基础,我承诺会让你学得既有趣又简单。那么,让我们开始吧!

R - Data Types

向量:R 的构建基石

向量是 R 中最简单、最基本的数据结构。可以把它们想象成一排排的盒子,每个盒子里装着相同类型的数据。

创建向量

# 数值向量
numbers <- c(1, 2, 3, 4, 5)

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

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

在这些示例中,c() 是组合函数,用于创建向量。它就像一根魔杖,把我们的数据聚集在一起!

访问向量元素

# 打印 fruits 向量的第二个元素
print(fruits[2])  # 输出: "banana"

# 打印第一个和第三个元素
print(fruits[c(1, 3)])  # 输出: "apple" "cherry"

我们使用方括号 [] 来访问特定的元素。这就像是我们伸手进盒子的行列,拿出我们正好需要的东西。

列表:数据结构中的瑞士军刀

列表就像是超级向量,可以包含不同类型的数据,甚至可以包含其他列表!

创建和访问列表

my_list <- list(
name = "Alice",
age = 30,
likes = c("pizza", "coding", "cats")
)

# 访问列表元素
print(my_list$name)  # 输出: "Alice"
print(my_list[[2]])  # 输出: 30
print(my_list[["likes"]][2])  # 输出: "coding"

列表使用 $[[]] 来访问元素。这就像打开了一个带有不同隔间的公文包!

矩阵:2D 数据排列

矩阵就像是电子表格:它们有行和列,里面填充着相同类型的数据。

创建和操作矩阵

# 创建一个 3x3 矩阵
my_matrix <- matrix(1:9, nrow = 3, ncol = 3)

# 打印矩阵
print(my_matrix)

# 访问第二行第三列的元素
print(my_matrix[2, 3])  # 输出: 8

矩阵使用 [行, 列] 表示法来访问。这就像在电影院里找座位!

数组:多维数据结构

数组就像是堆叠的矩阵,非常适合表示多维数据。

创建和操作数组

# 创建一个 2x3x2 数组
my_array <- array(1:12, dim = c(2, 3, 2))

# 打印数组
print(my_array)

# 访问第一个矩阵第二行第二列的元素
print(my_array[1, 2, 2])  # 输出: 10

数组将我们的矩阵表示法扩展到多个维度。这就像是在导航一个 3D 立方体!

因子:分类数据处理

因子用于分类数据,如分组项目或表示级别。

创建和使用因子

# 创建一个因子
sizes <- factor(c("small", "medium", "large", "medium", "small"))

# 打印因子
print(sizes)

# 获取因子的级别
print(levels(sizes))

因子非常适合于落入不同类别的数据。可以把它们想象成文件系统中的标签!

数据框:数据分析的中坚力量

数据框就像是 R 中的电子表格,能够在每一列中保存不同类型的数据。

创建和操作数据框

# 创建一个数据框
students <- data.frame(
name = c("Alice", "Bob", "Charlie"),
age = c(22, 25, 23),
grade = c("A", "B", "A")
)

# 打印数据框
print(students)

# 访问特定列
print(students$age)

# 根据条件选择行
print(students[students$age > 23, ])

数据框结合了向量和列表的优点。它们就像是一个组织良好的数据文件柜!

方法表

以下是一个每种数据类型常见方法的便捷表格:

数据类型 创建方法 访问方法 常见函数
向量 c() [] length(), sum(), mean()
列表 list() $, [[]] names(), unlist()
矩阵 matrix() [行, 列] dim(), t(), rowSums()
数组 array() [,,] dim(), aperm()
因子 factor() [] levels(), nlevels()
数据框 data.frame() $, [] nrow(), ncol(), subset()

记住,熟能生巧!不要害怕在 R 控制台中尝试这些数据类型。这就像玩乐高积木——你搭建得越多,就越能理解它们是如何组合在一起的。

在我们结束这个教程时,我希望你对 R 的数据类型更有信心。每一种都有其优势,知道在何时使用哪一种是数据分析旅程中的一项宝贵技能。

继续编程,保持好奇心,并记住——在 R 的世界里,数据就是你的游乐场!快乐编程!

Credits: Image by storyset