Как импортировать файлы CSV в R (шаг за шагом)


Предположим, у меня есть файл CSV с именем data.csv, сохраненный в следующем месте:

C:\Пользователи\Боб\Рабочий стол\data.csv

И предположим, что файл CSV содержит следующие данные:

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

Существует три распространенных способа импорта этого CSV-файла в R:

1. Используйте read.csv из базы R (самый медленный метод, но отлично работает для небольших наборов данных)

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

2. Используйте read_csv из пакета readr (в 2-3 раза быстрее, чем read.csv)

library (readr)

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

3. Используйте fread из пакета data.table (в 2-3 раза быстрее, чем read_csv)

library (data.table)

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

В этом руководстве показан пример использования каждого из этих методов для импорта CSV-файла в R.

Способ 1: использование read.csv

Если ваш CSV-файл достаточно мал, вы можете просто использовать функцию read.csv из Base R, чтобы импортировать его.

При использовании этого метода обязательно укажите 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

Если вы работаете с большими файлами, вы можете использовать функцию read_csv из пакета readr:

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

Способ 3: Использование фрида

Если ваш CSV очень большой, самый быстрый способ импортировать его в R — использовать функцию fread из пакета data.table:

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