Brett Lantz展示了如何使用ROne来管理数据,同时处理大量数据集涉及收集,准备和管理来自各种数据的数据……

使用大量数据集时面临的挑战之一涉及收集,准备和管理来自各种来源的数据。本文重点介绍了将数据导入和导出R的基本功能。

基础R数据结构是向量,它被扩展并组合成更复杂的数据类型,例如列表和数据帧。数据帧是R数据结构,其对应于具有特征和示例的数据集的概念。 R提供了将数据帧读取和写入类似电子表格的表格数据文件的功能。

本文摘自Brett Lantz撰写的“机器学习与R,第三版”一书。本书提供了一本实用的,可读的指南,用于将机器学习应用于实际问题。无论您是经验丰富的R用户还是该语言的新用户,本书都会向您传授所需的一切,以发现关键见解,进行新的预测并可视化您的发现。

保存,加载和删除R数据结构

当您花费大量时间将数据框转换为所需的表单时,每次重新启动R会话时都不需要重新创建工作。要将数据结构保存到以后可以重新加载或传输到另一个系统的文件,请使用save()函数。 save()函数将一个或多个R数据结构写入file参数指定的位置。 R数据文件具有.RData扩展名。

假设您有三个名为x,y和z的对象要保存到永久文件中。无论它们是向量,因子,列表还是数据框,都可以使用以下命令将它们保存到名为mydata.RData的文件中:

> save(x,y,z,file =“mydata.RData”)

load()命令可以重新创建已保存到.RData文件的任何数据结构。要加载在前面的代码中创建的mydata.RData文件,只需键入:

> load(“mydata.RData”)

这将在R环境中重新创建x,y和z数据结构。

注意:小心你装的是什么使用load()命令导入的文件中存储的所有数据结构都将添加到工作区,即使它们覆盖了您正在处理的其他内容。

如果需要快速盘点R会话,save.image()命令会将整个会话写入一个简单的.RData文件。默认情况下,R将在您下次启动R时查找此文件,您的会话将像您离开时一样重新创建。

在R会话中工作一段时间后,您可能已经增持了许多数据结构。列表函数ls()返回当前在内存中的所有数据结构的向量。例如,如果您一直关注本章中的代码,则ls()函数将返回以下内容:

> ls()(1)“血液”“flu_status”“性别”“m”(5)“subject_name”“subject1”“症状”(9)“温度”

R在退出会话时自动清除内存中的所有数据结构,但对于大型对象,您可能希望尽快释放内存。删除函数rm()可用于此目的。例如,要消除m和subject1对象,只需键入:

> rm(m,subject1)

rm()函数也可以提供要删除的对象名称的字符向量。这与ls()函数一起使用以清除整个R会话。

> rm(list = ls())

执行上述代码时要非常小心,因为在删除对象之前不会提示您

从CSV文件导入和保存数据

公共数据集通常存储在文本文件中。几乎可以在任何计算机或操作系统上读取文本文件,这使得该格式几乎是通用的。它们还可以从Microsoft Excel等程序导出和导入,从而提供了一种使用电子表格数据的快捷方式。

表格(如“表格”中)数据文件以矩阵形式构造,使得每行文本反映一个示例,并且每个示例具有相同数量的特征。每行上的特征值由称为分隔符的预定义符号分隔。通常,表格数据文件的第一行列出数据列的名称。这称为标题行。

也许最常见的表格文本文件格式是逗号分隔值(CSV)文件,顾名思义,它使用逗号作为分隔符。 CSV文件可以导入许多常见应用程序并从中导出。表示先前构建的医疗数据集的CSV文件可以存储为:

subject_name,温度,flu_status,性别,血型John Doe,98.1,FALSE,MALE,O Jane Doe,98.6,FALSE,FEMALE,AB Steve Graves,101.4,TRUE,MALE,A

给定位于R工作目录中的名为pt_data.csv的患者数据文件,可以按如下方式使用read.csv()函数将文件加载到R:

> pt_data < – read.csv(“pt_data.csv”,stringsAsFactors = FALSE)

这会将CSV文件读入标题为pt_data的数据框中。正如我们之前在构造数据框时所做的那样,我们需要使用stringsAsFactors = FALSE参数来阻止R将所有文本变量转换为因子。除非您确定CSV文件中的每一列都是真正的因素,否则最好由您执行此步骤,而不是R。

注意:如果数据集位于R工作目录之外,则在调用read.csv()函数时可以使用CSV文件的完整路径(例如“/path/to/mydata.csv”)。

默认情况下,R假定CSV文件包含一个标题行,列出数据中心化要素的名称。如果CSV文件没有标题,请指定选项header = FALSE,如以下命令所示,R将通过将它们编号为V1,V2等来指定默认功能名称:

> mydata < – read.csv(“mydata.csv”,stringsAsFactors = FALSE,header = FALSE)

read.csv()函数是read.table()函数的一个特例,它可以以多种不同的形式读取表格数据,包括其他分隔格式,例如制表符分隔值(TSV)。有关read.table()函数系列的更多详细信息,请参阅使用?read.table命令的R帮助页面。

要将数据框保存为CSV文件,请使用write.csv()函数。如果您的数据框名为pt_data,只需输入:

> write.csv(pt_data,file =“pt_data.csv”,row.names = FALSE)

这会将名为pt_data.csv的CSV文件写入R工作文件夹。 row.names参数会覆盖R的默认设置,即在CSV文件中输出行名称。

结论

在本文中,我们了解了在R中管理数据的基础知识。我们首先了解用于在R中存储各种类型数据的结构以及如何保存它们。然后,我们继续以常用的CSV格式读取和写入数据。

现在我们花了一些时间来了解R的数据管理基础知识,您就可以开始使用机器学习来解决实际问题。为了进一步研究,你可以参考Brett Lantz的最新着作“机器学习与R,第三版”。

关于作者

Brett Lantz是DataCamp讲师,经常在世界各地的机器学习会议和研讨会上发表演讲。作为一名社会学家,布雷特在研究大型社交网络资料数据库时首先被机器学习所吸引。

资讯来源:由0x资讯编译自HACKERNOON。版权归作者所有,原文链接:https://hackernoon.com/brett-lantz-shows-how-to-manage-data-with-r-e144bb46c49f?source=collection_category—4——0———————。未经许可,不得转载
提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢