如何将 csv 文件导入 r(分步)


假设我有一个名为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

将此 CSV 文件导入 R 的常用方法有以下三种:

1.使用base R中的read.csv (最慢的方法,但适用于较小的数据集)

 data1 <- read.csv(" C:\\Users\\Bob\\Desktop\\data.csv ", header= TRUE , stringsAsFactors= FALSE )

2.使用readr包中的read_csv (比read.csv快2-3倍)

 library (readr)

data2 <- read_csv(" C:\Users\Bob\Desktop\data.csv ")

3.使用data.table包中的fread (比read_csv快2-3倍)

 library (data.table)

data3 <- fread(" C:\Users\Bob\Desktop\data.csv ")

本教程展示了使用每种方法将 CSV 文件导入 R 的示例。

方法一:使用read.csv

如果您的 CSV 文件相当小,您可以简单地使用 Base R 的read.csv函数来导入它。

使用此方法时,请务必指定stringsAsFactors=FALSE ,以便 R 不会将字母或分类变量转换为因子。

以下代码展示了如何使用read.csv将此 CSV 文件导入到 R 中:

 #import data
data1 <- read.csv(" C:\\Users\\Bob\\Desktop\\data.csv ", header= TRUE , stringsAsFactors= FALSE )

#view structure of data
str(data1)

'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

方法2:使用read_csv

如果您正在处理较大的文件,可以使用 readr 包的read_csv函数:

 library (readr)

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

#view structure of data
str(data2)

'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

方法三:使用饲料

如果您的 CSV 非常大,将其导入 R 的最快方法是使用 data.table 包中的fread函数:

 library (data.table)

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

#view structure of data
str(data3)

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

请注意,在每个示例中,我们在文件路径中使用双反斜杠 (\\) 以避免以下常见错误:

 Error: '\U' used without hex digits in character string starting ""C:\U"

其他资源

以下教程解释了如何将其他文件类型导入到 R 中:

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

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注