如何在R中使用fread()来更快地导入文件

363 阅读2分钟

你可以使用R中data.table包中的**fread()**函数来快速方便地导入文件。

这个函数使用以下基本语法。

library(data.table)

df <- fread("C:\\Users\\Path\\To\\My\\data.csv")

对于大文件,这个函数已经被证明比基础R中的read.csv等函数要快得多。

而且在大多数情况下,这个函数还可以自动检测你要导入的数据集的分隔符和列类型。

下面的例子展示了如何在实践中使用这个函数。

例子。如何在R中使用fread()来导入文件

假设我有一个名为data.csv的CSV文件,保存在以下位置。

C:\Users\Bob\Desktop\data.csv

假设该CSV文件包含以下数据。

team, points, assists
'A', 78, 12
'B', 85, 20
'C', 93, 23
'D', 90, 8
'E', 91, 14

我可以使用data.table包中的**fread()**函数将这个文件导入到我当前的R环境中。

library(data.table)

#import data
df <- fread("C:\\Users\\Bob\\Desktop\\data.csv")

#view data
df

  team points assists
1    A     78      12
2    B     85      20
3    C     93      23
4    D     90       8
5    E     91      14

我们能够使用**fread()**函数成功导入CSV文件。

注意:我们在文件路径中使用了双反斜线(\\),以避免一个常见的导入错误

注意,我们也不必指定分隔符,因为**fread()**函数自动检测到它是一个逗号。

如果我们使用str()函数来查看数据框的结构,我们可以看到**fread()**函数也自动识别了每一列的对象类型。

#view structure of data
str(df)

Classes 'data.table' and 'data.frame':  5 obs. of  3 variables:
 $ team   : chr  "'A'" "'B'" "'C'" "'D'" ...
 $ points : int  78 85 93 90 91
 $ assists: int  12 20 23 8 14

从输出中我们可以看到。

  • 团队变量是一个字符。
  • 分数变量是一个整数。
  • 协助者变量是一个整数。

在这个例子中,为了简单起见,我们使用了一个小的数据框(5行x3列),但实际上,**fread()**函数能够快速有效地导入数万行的数据框,这使它成为大规模数据集的首选导入方法。

其他资源

下面的教程解释了如何将特定的文件类型导入R中。

如何将Excel文件导入R
如何将TSV文件导入R
如何将Zip文件导入R
如何将SAS文件导入R
如何将.dta文件导入R

The postHow to Use fread() in R to Import Files fasterappeared first onStatology.