如何将 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