在数据分析和统计领域,数据通常以表格的形式存在。R 语言中的数据框(data frame)就是专门用于存储和处理这类表格型数据的重要数据结构。数据框类似于电子表格或数据库中的表,每一列可以是不同的数据类型(如数值型、字符型、逻辑型等),而每一行则代表一个观测值。本文将深入探讨数据框的创建、访问、修改以及常见的处理操作,并通过实际的代码演示来加深理解。
data.frame()
函数创建data.frame()
是创建数据框最常用的函数,我们可以通过指定列名和对应的数据来创建一个数据框。
# 创建一个简单的数据框
students <- data.frame(
Name = c("Alice", "Bob", "Charlie"),
Age = c(20, 21, 22),
Gender = c("Female", "Male", "Male")
)
# 查看数据框
print(students)
上述代码创建了一个名为 students
的数据框,包含三列:Name
(字符型)、Age
(数值型)和 Gender
(字符型)。运行代码后,会输出如下结果:
Name Age Gender
1 Alice 20 Female
2 Bob 21 Male
3 Charlie 22 Male
除了手动创建,我们还可以从外部文件(如 CSV 文件)读取数据来创建数据框。
# 读取 CSV 文件
data <- read.csv("data.csv")
# 查看数据框的基本信息
str(data)
这里假设当前工作目录下存在一个名为 data.csv
的文件。read.csv()
函数会将 CSV 文件的内容读取为一个数据框,str()
函数用于查看数据框的基本信息,包括列名、数据类型和行数等。
可以使用 $
符号或 [[]]
来按列名访问数据框的某一列。
# 使用 $ 符号访问 Age 列
ages <- students$Age
print(ages)
# 使用 [[]] 访问 Gender 列
genders <- students[["Gender"]]
print(genders)
使用 [行索引, 列索引]
的方式可以访问数据框中的特定元素或子集。
# 访问第 2 行第 3 列的元素
element <- students[2, 3]
print(element)
# 访问第 1 行和第 3 行的所有列
subset_rows <- students[c(1, 3), ]
print(subset_rows)
# 访问第 2 列和第 3 列的所有行
subset_cols <- students[, c(2, 3)]
print(subset_cols)
可以使用 names()
函数来修改数据框的列名。
# 修改列名
names(students) <- c("StudentName", "StudentAge", "StudentGender")
print(students)
可以通过赋值的方式为数据框添加新列。
# 添加新列:成绩
students$Score <- c(85, 90, 78)
print(students)
可以使用 NULL
赋值的方式删除数据框中的某一列。
# 删除 Score 列
students$Score <- NULL
print(students)
使用 order()
函数可以对数据框按某一列进行排序。
# 按年龄升序排序
sorted_students <- students[order(students$StudentAge), ]
print(sorted_students)
可以使用逻辑条件来筛选数据框中的数据。
# 筛选出年龄大于 20 的学生
filtered_students <- students[students$StudentAge > 20, ]
print(filtered_students)
使用 summary()
函数可以对数据框进行汇总统计。
# 汇总统计
summary(students)
操作 | 描述 | 示例代码 |
---|---|---|
创建数据框 | 使用 data.frame() 函数或从外部文件读取 |
students <- data.frame(Name = c("Alice", "Bob"), Age = c(20, 21)) |
访问数据框 | 按列名或行和列索引 | students$Age 或 students[1, 2] |
修改数据框 | 修改列名、添加或删除列 | names(students) <- c("NewName", "NewAge") 或 students$Score <- c(80, 90) |
处理操作 | 排序、筛选、汇总统计 | students[order(students$Age), ] 或 students[students$Age > 20, ] 或 summary(students) |
数据框是 R 语言中处理表格型数据的核心数据结构,掌握数据框的创建、访问、修改和处理操作对于数据分析和统计工作至关重要。通过本文的介绍和代码演示,希望读者能够对数据框有更深入的理解和掌握。