在处理机器学习问题时,您需要能够将数据加载到 R 中。
在这篇短文中,您将发现如何将数据文件加载到 R 中并启动您的机器学习项目。
通过我的新书《R 语言机器学习精通》快速启动您的项目,其中包括所有示例的分步教程和R 源代码文件。
让我们开始吧。

将您的机器学习数据加载到 R 中
照片由 Paul Miller 拍摄,保留部分权利。
访问您的数据
在机器学习中处理数据最常见的方式是使用数据文件。
数据最初可能以各种格式和不同位置存储。例如:
- 关系数据库表
- XML 文件
- JSON 文件
- 固定宽度格式文件
- 电子表格文件(例如 Microsoft Office)
在机器学习项目中处理数据之前,您需要将数据整合到一个具有行和列的单一文件中。表示机器学习数据集的标准格式是 CSV 文件。这是因为机器学习算法,在很大程度上,处理表格格式的数据(例如矩阵或输入和输出向量)。
R 中的数据集通常表示为矩阵或数据框结构。
R 中机器学习项目的第一步是将数据作为矩阵或数据框加载到 R 中。
需要更多关于R机器学习的帮助吗?
参加我为期14天的免费电子邮件课程,了解如何在您的项目中使用R(附带示例代码)。
点击注册,同时获得该课程的免费PDF电子书版本。
在 R 中加载 CSV 数据文件
本节提供了一些食谱,您可以将其复制到自己的机器学习项目中并进行调整以将数据加载到 R 中。
从 CSV 文件加载数据
此示例演示了从 CSV 文件加载 Iris 数据集。此食谱将把当前目录中没有标题(例如列名)的 CSV 文件作为数据框加载到 R 中。
1 2 3 4 5 6 |
# 定义文件名 filename <- "iris.csv" # 从本地目录加载 CSV 文件 dataset <- read.csv(filename, header=FALSE) # 预览前 5 行 head(dataset) |
运行此食谱,您将看到
1 2 3 4 5 6 7 |
V1 V2 V3 V4 V5 1 5.1 3.5 1.4 0.2 Iris-setosa 2 4.9 3.0 1.4 0.2 Iris-setosa 3 4.7 3.2 1.3 0.2 Iris-setosa 4 4.6 3.1 1.5 0.2 Iris-setosa 5 5.0 3.6 1.4 0.2 Iris-setosa 6 5.4 3.9 1.7 0.4 Iris-setosa |
如果您希望将数据与 R 脚本一起本地存储,例如在版本控制下管理的项目中,此食谱很有用。
如果数据不在您的本地目录中,您可以选择
- 指定数据集在您的本地环境中的完整路径。
- 使用 setwd() 函数将当前工作目录设置为数据集所在的位置。
从 CSV URL 加载数据
此示例演示了从 UCI 机器学习存储库上的 CSV 文件加载 Iris 数据。此食谱将从 URL 加载一个没有标题的 CSV 文件到 R 中作为数据框。
1 2 3 4 5 6 7 8 9 10 11 12 |
# 加载库 library(RCurl) # 指定 Iris 数据 CSV 的 URL urlfile <-'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data' # 下载文件 downloaded <- getURL(urlfile, ssl.verifypeer=FALSE) # 将文本数据视为流,以便我们可以从中读取 connection <- textConnection(downloaded) # 将下载的数据解析为 CSV dataset <- read.csv(connection, header=FALSE) # 预览前 5 行 head(dataset) |
运行此食谱,您将看到
1 2 3 4 5 6 7 |
V1 V2 V3 V4 V5 1 5.1 3.5 1.4 0.2 Iris-setosa 2 4.9 3.0 1.4 0.2 Iris-setosa 3 4.7 3.2 1.3 0.2 Iris-setosa 4 4.6 3.1 1.5 0.2 Iris-setosa 5 5.0 3.6 1.4 0.2 Iris-setosa 6 5.4 3.9 1.7 0.4 Iris-setosa |
如果您的数据集存储在服务器上,例如在您的 GitHub 帐户上,此食谱很有用。如果您想使用 UCI 机器学习存储库中的数据集但不想将其本地存储,此食谱也很有用。
其他格式的数据
您可能拥有 CSV 以外格式的数据。
我建议您使用标准工具和库将其转换为 CSV 格式,然后再在 R 中处理数据。转换后,您可以使用上面的食谱来处理它。
总结
在这篇短文中,您发现了如何将数据加载到 R 中。
您学习了两种加载数据的食谱
- 从本地 CSV 文件加载数据。
- 从服务器上的 CSV 文件加载数据。
下一步
您是否尝试过这些食谱?
- 启动您的 R 交互式环境。
- 键入或复制粘贴以上食谱并尝试一下。
- 使用 R 中的内置帮助来了解有关所用函数的更多信息。
您有问题吗?在评论中提问,我将尽力回答。
感谢您的帖子,它非常好。这是我的建议,从我们这里获得最佳过程视图/机器视图监控系统。
不客气,约翰。
我喜欢您这种跳过学术的方法(很高兴知道我也不必费心去攻读博士学位!)
但这里有一个更明显的问题,我认为您应该在此页面上回答:如何将 R 中已打包的示例数据(例如“iris”数据集)加载到您的工作区中并查看它?我花了几个小时才找到这个问题的答案,这很令人尴尬,因为大多数网站都不涉及这种初步的基础知识。
我在这篇文章中介绍了如何在 R 中使用内置数据集(包括 iris)
https://machinelearning.org.cn/machine-learning-datasets-in-r/
希望对您有帮助
对于 Iris 数据集,已显示步骤。葡萄酒数据集的步骤是否相同?请帮助,然后如何在数据集上实现 knn。