在本教程中,您将学习如何从各种来源(如 txt 文件、csv(逗号分隔值)文件)导入(读取)数据。数据科学家通常将数据存储在 Excel 电子表格中。在 R 编程语言中,有几个 R 包,如 XLConnect、xlsx、RExcel、gdata、RODBC 等,用于从 Excel 电子表格中访问数据。R 用户或程序员大多将电子表格(数据)保存为 CSV 格式/文件,以利用 R 的内置功能来操作数据。因此,通过本教程,您将学习如何从 R 语言中的 .csv 文件读取(导入)数据。
我们需要数据来处理我们的需求,这些数据从电子表格或任何其他来源读取或导入到您的程序中进行数据分析。Microsoft Excel 电子表格是使用 CSV 文件(逗号分隔变量文件)将数据导入 R 的最常用方法之一。您可以通过复制文件并将其保存为 .csv 文件格式来将电子表格保存为 CSV 文件。让我们逐步了解电子表格如何转换为 .csv 文件类型并在 R 程序中工作。




在将文件读取到 R 程序中之前,需要一些基本知识。它们如下所示
getwd() 函数检查。setwd() 函数可以设置当前工作目录。read.csv() 函数读取该文件。read.csv() 读取表格格式的文件,并从中创建一个数据框作为输出。正如我们在数据框教程中讨论的那样,数据框是用于存储数据表的二维数组的数据类型。
getwd() 函数检查 R 的当前工作目录。在 R 控制台中输入 getwd(),它将返回当前工作目录为 "C:/Users/John/Documents"
getwd()
[1] "C:/Users/John/Documents"
假设您需要更改当前工作目录,因为您要读取的文件使用 setwd() 函数保存在其他目录中。在 RStudio 中可以通过以下步骤完成
通过选择文件位置,您可以更改和设置当前工作目录。
将数据集导入 R 程序最简单的方法之一是使用 RStudio 中的“导入数据集”选项。

要导入文本文件,请使用第一个选项,您可以在其中浏览并打开文本文件。
您可以从此处更改数据集的名称。此外,还可以根据用户需求更改其他选项,例如标题、行名等。

单击“导入”按钮将数据集加载到 R 程序中。您可以看到相同的数据集已加载到 Rscript 中。名为 3-1homeprices 的对象将在全局环境中创建。

注意:数据默认存储在数据框结构中。
R 程序允许使用内置方法 read.csv() 将 .csv 文件类型加载到工作区中,或者通过加载或导入外部包并将其存储为数据帧 (df)。read.csv() 方法包含在基本 R 中,支持将数据加载到 R 脚本并执行程序。
在下面的示例中,read.csv() 函数用于加载文件名为 3-1homeprices 的 .csv 文件类型数据。您可以指定完整的文件路径,例如“C:\\Users\\Desktop\\R\\R Pgms\\3-1homeprices.csv”,只要 .csv 文件与您的 R 脚本保存在同一文件夹中即可加载数据。
######importing Data ######
####using read.csv() ######
df1=read.csv(file ="C:\\Users\\Desktop\\R\\R Pgms\\3-1homeprices.csv" )
print(df1)
当执行上述代码片段时,文件中存储的数据将显示为
print(df1) area price 1 2600 550000 2 3000 565000 3 3200 610000 4 3600 680000 5 4000 725000
比较 R 控制台中显示的数据内容与电子表格数据,两者相似。因此,使用 read.csv() 函数,您可以轻松地将电子表格数据提取到 R 程序中。请看下面的截图。

在 RStudio 中,您可以通过单击“环境”(右侧面板)中的 df1 变量来查看数据,该变量在左侧面板中显示两个变量(面积和价格)的 5 个观察值。

在上面的示例中,我们一步提供了完整路径,将数据读取到名为 df1 的数据框中。这也可以通过在另一个步骤中提及路径,然后只在函数 read.csv() 内部调用路径来实现。其遵循的语法如下
read.csv(path, header = TRUE, sep = “,”)
参数:
文件所在的路径“C:/Users/Desktop/R/R Pgms/3-1homeprices.csv”在一个单独的行中指定,并通过存储到名为 path 的变量中。当需要加载数据集时,只需调用存储路径的变量名称即可。在我们的示例中,变量 path 包含 .csv 位置的详细信息。
#path specifying
path = "C:/Users/Desktop/R/R Pgms/3-1homeprices.csv"
#loading data from .csv file
data = read.csv(path)
#Displays the data
print(data)
执行代码时,它会获取存储在 .csv 文件中的数据,如下所示
area price 1 2600 550000 2 3000 565000 3 3200 610000 4 3600 680000 5 4000 725000
如果语法中将 header 设置为 FALSE,则列标题名称 area, prices 将不会显示。它将根据数据集中的列数默认表示为 V1, V2…等。
#path specifying
path = "C:/Users/Desktop/R/R Pgms/3-1homeprices.csv"
#loading data from .csv file with columns names are hidden
data = read.csv(path,header = FALSE)
#Displays the data
print(data)
输出将不指定列名
V1 V2 1 area price 2 2600 550000 3 3000 565000 4 3200 610000 5 3600 680000
您将学习 R 中的两个包:readr 和 data.table。我们将从使用 setwd() 函数设置文件或数据所在的目录或位置开始。
请务必使用以下命令安装这些包
install.packages("readr")
#to load readr library
install.packages("data.table")
#to load data.table library
该截图展示了工作目录设置、包安装以及使用 library() 函数导入库的方法,其中要导入的包的名称作为参数放在括号内。
readr 库由 Madley、Jim 和 Romain 共同创建。readr 包中的 read.csv() 函数带有一些默认参数,用于加载或导入数据。

通过给定路径读取所有数据,并将对象存储为数据。进一步使用了两个函数 head() 和 str(),其输出如下面截图所示。
data = read.csv(file ="C:\\Users\\Desktop\\R\\R Pgms\\3-1homeprices.csv")
head(data)
str(data)

read.table() 函数用于将文本文件导入 R 程序
df2= read.table(file ="C:\\Users\\Desktop\\R\\R Pgms\\3-1homeprices1.txt")
print(df2)
输出是

您可以看到数据框中有多个列,列上方显示 V1, V2。您可以将 header 参数设置为 TRUE,以将列名设置为实际标题,而不是 V1, V2 等。
df2= read.table(file ="C:\\Users\\Desktop\\R\\R Pgms\\3-1homeprices1.txt",header = TRUE)
print(df2)
输出如下所示,其中 V1,V2 已被 area 和 price 标题取代。
