R - 数据框:初学者指南

你好,未来的R语言程序员!今天,我们将踏上一段激动人心的旅程,探索R语言中的数据框(Data Frames)。别担心如果你之前从未编程过——我会成为你友好的向导,我们会一步步来。在本教程结束时,你将能够像专业人士一样操作数据框!

R - Data Frames

数据框是什么?

在我们深入之前,让我们先了解一下数据框是什么。想象你有一个带有行和列的电子表格——这在R中本质上就是一个数据框。它是一个二维表格,其中每列可以包含不同类型的数据(如数字、文本或日期),而每一行代表一条单独的记录。

现在,让我们卷起袖子,亲自动手写一些实际的R代码!

创建数据框

创建一个数据框就像建立你自己的个人数据库一样。让我们从一个简单的例子开始:

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

# 让我们看看我们的数据框长什么样
print(students)

当你运行这段代码时,你会看到:

name age grade
1  Alice  22     A
2    Bob  25     B
3 Charlie 23    A-

我们在这里做了什么?我们创建了一个名为students的数据框,包含三列:姓名、年龄和成绩。每一列都是一个向量,而且所有向量的长度必须相同(在这个例子中,长度为3)。

查看数据框的结构

现在我们有了数据框,让我们来检查它的结构。这就像窥探汽车的引擎盖:

# 获取数据框的结构
str(students)

这将输出:

'data.frame':   3 obs. of  3 variables:
$ name : chr  "Alice" "Bob" "Charlie"
$ age  : num  22 25 23
$ grade: chr  "A" "B" "A-"

这告诉我们students是一个具有3个观测值(行)和3个变量(列)的数据框。它还显示了每一列的数据类型:chr代表字符(文本),num代表数字。

数据框中的数据摘要

想要快速了解你的数据吗?summary()函数将是你的好帮手:

# 获取数据框的摘要
summary(students)

你会看到类似这样的内容:

name                age           grade
Length:3           Min.   :22.00   Length:3
Class :character   1st Qu.:22.50   Class :character
Mode  :character   Median :23.00   Mode  :character
Mean   :23.33
3rd Qu.:24.00
Max.   :25.00

这给我们提供了数据的统计摘要。对于像age这样的数字列,它提供了最小值、最大值、平均值和四分位数。对于字符列,它告诉我们长度和类型。

从数据框中提取数据

现在,让我们学习如何从数据框中提取特定数据。这就像成为一名数据侦探!

# 获取一个特定列
print(students$name)

# 获取一个特定行
print(students[2,])

# 获取一个特定单元格
print(students[1, "grade"])

# 获取多列
print(students[, c("name", "age")])

这些命令将输出:

[1] "Alice"   "Bob"     "Charlie"

name age grade
2  Bob  25     B

[1] "A"

name age
1  Alice  22
2    Bob  25
3 Charlie 23

$操作符让你通过名称访问列。方括号[]允许你指定行和列:[行, 列]。如果你留下行或列空白,它会选择所有行或列。

扩展数据框

随着你的数据增长,你可能需要向你的数据框中添加更多信息。让我们看看如何操作:

# 添加一个新列
students$height <- c(165, 180, 175)

# 添加一个新行
new_student <- data.frame(name = "David", age = 24, grade = "B+", height = 178)
students <- rbind(students, new_student)

# 让我们看看更新后的数据框
print(students)

这将给出:

name age grade height
1  Alice  22     A    165
2    Bob  25     B    180
3 Charlie 23    A-    175
4  David  24    B+    178

我们使用$操作符添加了一个名为height的新列,并使用rbind()函数(代表"行绑定")添加了一个新行。

有用的数据框方法

这里有一张表格,列出了处理数据框的一些便捷方法:

方法 描述
head(df) 显示数据框的前6行
tail(df) 显示数据框的最后6行
nrow(df) 获取行数
ncol(df) 获取列数
names(df) 获取列名
colnames(df) 另一种获取或设置列名的方法
rownames(df) 获取或设置行名
dim(df) 获取维度(行数和列数)

在我们的students数据框上试试这些方法!

就这样,各位!你已经迈出了进入R语言数据框世界的第一步。记住,熟能生巧,所以不要害怕尝试这些命令。创建你自己的数据框,尝试不同的操作,看看会发生什么。

在你意识到之前,你将能够像经验丰富的数据科学家一样操作数据。而且谁知道呢?也许有一天你会使用这些技能分析来自火星殖民地或海底城市的数据。可能性是无穷无尽的!

继续编码,保持好奇心,最重要的是,享受乐趣!下次见,快乐的R语言编程!

Credits: Image by storyset