Перейти к содержимому

Как загрузить файл csv в r studio

  • автор:

r studio импорт csv

Подскажите, как импортировать несколько csv в R за раз? нашла такой код, но на выходе получаю все данные в одном столбце, не могу понять, как их разделить по точке с запятой.

im = list.files(pattern = "*.csv") my_data = lapply(im, read_csv) df  

Отслеживать
задан 11 мар 2022 в 11:19
19 7 7 бронзовых знаков

CSV - это "Comma-Separated Values", т.е. "Значения, Разделённые Запятой". Если в качестве разделителя используется точка с запятой - это не CSV. Для импорта SSV (Semicolon-Separated Values) используется read_csv2 . Либо lapply(im, read.csv, sep=";") .

11 мар 2022 в 11:43
спасибо, получила, что хотела
11 мар 2022 в 11:43

0

Сортировка: Сброс на вариант по умолчанию

Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.

    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.3.2953

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как импортировать файлы 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  

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

library (readr) data2  

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

library (data.table) data3  

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

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

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

При использовании этого метода обязательно укажите stringsAsFactors=FALSE , чтобы R не преобразовывал символьные или категориальные переменные в факторы.

В следующем коде показано, как использовать read.csv для импорта этого CSV-файла в R:

#import data data1  

Способ 2: использование read_csv

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

library (readr) #import data data2  

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

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

library (data.table) #import data data3  

Обратите внимание, что в каждом примере мы использовали двойную обратную косую черту (\) в пути к файлу, чтобы избежать следующей распространенной ошибки:

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

Дополнительные ресурсы

В следующих руководствах объясняется, как импортировать другие типы файлов в R:

16) Импорт данных в R

Данные могут существовать в разных форматах. Для каждого формата R имеет определенную функцию и аргумент. В этом руководстве объясняется, как импортировать данные в R.

В этом уроке вы узнаете

  • Читать CSV
  • Чтение файлов Excel
  • readxl_example ()
  • read_excel ()
  • excel_sheets ()
  • Импорт данных из другого статистического программного обеспечения
  • Читать сас
  • Читать STATA
  • Читать SPSS
  • Лучшие практики для импорта данных

Читать CSV

Одним из наиболее распространенных хранилищ данных являются форматы файлов .csv (значения, разделенные запятыми). R загружает массив библиотек во время запуска, включая пакет utils. Этот пакет удобен для открытия CSV-файлов в сочетании с функцией reading.csv (). Вот синтаксис для read.csv

read.csv(file, header = TRUE, sep = ",")

Аргумент :

  • file : PATH, где хранится файл
  • header : подтвердите, имеет ли файл заголовок или нет, по умолчанию заголовок установлен в TRUE
  • sep : символ, используемый для разделения переменной. По умолчанию `,`.

Мы будем читать данные файла с именем mtcats. CSV-файл хранится в Интернете. Если ваш файл .csv хранится локально, вы можете заменить PATH внутри фрагмента кода. Не забудьте обернуть его внутри ». PATH должен быть строковым значением.

Для пользователя Mac путь к папке загрузки:

"/Users/USERNAME/Downloads/FILENAME.csv"

Для пользователей Windows:

"C:\Users\USERNAME\Downloads\FILENAME.csv"

Обратите внимание, что мы всегда должны указывать расширение имени файла.

PATH 

Вывод:

## [1] 12
class(df$X)

Вывод:

## [1] "factor"

R по умолчанию возвращает значения символов как фактор. Мы можем отключить этот параметр, добавив stringsAsFactors = FALSE.

PATH 

Вывод:

## [1] "character"

Класс для переменной X теперь является символом.

Чтение файлов Excel

Файлы Excel очень популярны среди аналитиков данных. Таблицы просты в работе и гибки. R оснащен библиотекой readxl для импорта электронных таблиц Excel.

Используйте этот код

require(readxl)

чтобы проверить, установлен ли readxl на вашем компьютере. Если вы устанавливаете r с помощью r-conda-essential, библиотека уже установлена. Вы должны увидеть в окне команд:

Вывод:

Loading required package: readxl.

Если пакет не выходит, вы можете установить его с библиотекой conda или в терминале, используйте conda install -c mittner r-readxl.

Используйте следующую команду, чтобы загрузить библиотеку для импорта файлов Excel.

library(readxl)

readxl_example ()

Мы используем примеры, включенные в пакет readxl во время этого урока.

readxl_example()

чтобы увидеть все доступные таблицы в библиотеке.

Чтобы проверить расположение таблицы с именем clippy.xls, просто используйте

readxl_example("geometry.xls")

Если вы устанавливаете R с помощью conda, электронные таблицы находятся в Anaconda3 / lib / R / library / readxl / extdata / filename.xls

read_excel ()

Функция read_excel () отлично подходит для открытия расширений xls и xlsx.

read_excel(PATH, sheet = NULL, range= NULL, col_names = TRUE) arguments: -PATH: Path where the excel is located -sheet: Select the sheet to import. By default, all -range: Select the range to import. By default, all non-null cells -col_names: Select the columns to import. By default, all non-null columns

Мы можем импортировать электронные таблицы из библиотеки readxl и посчитать количество столбцов на первом листе.

# Store the path of `datasets.xlsx` example 

Вывод:

excel_sheets ()

Файл datasets.xlsx состоит из 4 листов. Мы можем узнать, какие листы доступны в книге, используя функцию excel_sheets ()

example excel_sheets(example)

Вывод:

[1] "iris" "mtcars" "chickwts" "quakes"

Если рабочий лист включает в себя много листов, легко выбрать конкретный лист, используя аргументы листа. Мы можем указать название листа или индекс листа. Мы можем проверить, возвращает ли обе функции один и тот же вывод с помощью метода unique ().

example 

Вывод:

## [1] TRUE

Мы можем контролировать, какие ячейки читать 2 способами

  1. Используйте аргумент n_max для возврата n строк
  2. Используйте аргумент диапазона в сочетании с cell_rows или cell_cols

Например, мы устанавливаем n_max равным 5, чтобы импортировать первые пять строк.

# Read the first five row: with header iris <-read_excel(example, n_max =5, col_names =TRUE)

Если мы изменим col_names на FALSE, R автоматически создаст заголовки.

# Read the first five row: without header iris_no_header <-read_excel(example, n_max =5, col_names =FALSE)

В фрейме данных iris_no_header R создал пять новых переменных с именами X__1, X__2, X__3, X__4 и X__5

Мы также можем использовать диапазон аргументов для выбора строк и столбцов в электронной таблице. В приведенном ниже коде мы используем стиль Excel, чтобы выбрать диапазон от A1 до B5.

# Read rows A1 to B5 example_1 <-read_excel(example, range = "A1:B5", col_names =TRUE) dim(example_1)

Вывод:

## [1] 4 2

Мы видим, что example_1 возвращает 4 строки с 2 столбцами. У набора данных есть заголовок, поэтому размер равен 4×2.

Во втором примере мы используем функцию cell_rows (), которая управляет диапазоном возвращаемых строк. Если мы хотим импортировать строки с 1 по 5, мы можем установить cell_rows (1: 5). Обратите внимание, что cell_rows (1: 5) возвращает тот же вывод, что и cell_rows (5: 1).

# Read rows 1 to 5 example_2 <-read_excel(example, range =cell_rows(1:5),col_names =TRUE) dim(example_2)

Вывод:

## [1] 4 5

Однако example_2 представляет собой матрицу 4×5. Набор данных iris имеет 5 столбцов с заголовком. Мы возвращаем первые четыре строки с заголовком всех столбцов

Если мы хотим импортировать строки, которые не начинаются с первой строки, мы должны включить col_names = FALSE. Если мы используем range = cell_rows (2: 5), становится очевидно, что наш фрейм данных больше не имеет заголовка.

iris_row_with_header <-read_excel(example, range =cell_rows(2:3), col_names=TRUE) iris_row_no_header <-read_excel(example, range =cell_rows(2:3),col_names =FALSE)

We can select the columns with the letter, like in Excel. # Select columns A and B col <-read_excel(example, range =cell_cols("A:B")) dim(col)

Вывод:

## [1] 150 2

Примечание: range = cell_cols (“A: B”), возвращает выходные данные всех ячеек с ненулевым значением. Набор данных содержит 150 строк, поэтому read_excel () возвращает строки до 150. Это проверяется с помощью функции dim ().

read_excel () возвращает NA, когда в ячейке появляется символ без числового значения. Мы можем посчитать количество пропущенных значений с помощью комбинации двух функций

iris_na <-read_excel(example, na ="setosa") sum(is.na(iris_na))

Вывод:

## [1] 50

У нас пропущено 50 значений, которые являются строками, принадлежащими видам сетоз.

Импорт данных из другого статистического программного обеспечения

Мы будем импортировать различные файлы формата с пакетом небес. Этот пакет поддерживает программное обеспечение SAS, STATA и SPSS. Мы можем использовать следующую функцию для открытия различных типов наборов данных в соответствии с расширением файла:

  • SAS: read_sas ()
  • STATA: read_dta () (или read_stata (), которые идентичны)
  • SPSS: read_sav () или read_por (). Нам нужно проверить расширение

В этой функции требуется только один аргумент. Нам нужно знать ПУТЬ, где хранится файл. Вот и все, мы готовы открыть все файлы из SAS, STATA и SPSS. Эти три функции также принимают URL.

library(haven)

В гавань входит conda r-essential, в противном случае перейдите по ссылке или в терминале. conda установите -c conda-forge r-haven

Читать сас

Для нашего примера мы собираемся использовать набор входных данных из IDRE.

PATH_sas 

Вывод:

## # A tibble: 6 x 4 ## ADMIT GRE GPA RANK ##    ## 1 0 380 3.61 3 ## 2 1 660 3.67 3 ## 3 1 800 4.00 1 ## 4 1 640 3.19 4 ## 5 0 520 2.93 4 ## 6 1 760 3.00 2

Читать STATA

Для файлов данных STATA вы можете использовать read_dta (). Мы используем точно такой же набор данных, но храним его в файле .dta.

PATH_stata 

Вывод:

## # A tibble: 6 x 4 ## admit gre gpa rank ##    ## 1 0 380 3.61 3 ## 2 1 660 3.67 3 ## 3 1 800 4.00 1 ## 4 1 640 3.19 4 ## 5 0 520 2.93 4 ## 6 1 760 3.00 2

Читать SPSS

Мы используем функцию read_sav (), чтобы открыть файл SPSS. Расширение файла “.sav”

PATH_spss 

Вывод:

## # A tibble: 6 x 4 ## admit gre gpa rank ##    ## 1 0 380 3.61 3 ## 2 1 660 3.67 3 ## 3 1 800 4.00 1 ## 4 1 640 3.19 4 ## 5 0 520 2.93 4 ## 6 1 760 3.00 2

Лучшие практики для импорта данных

Когда мы хотим импортировать данные в R, полезно реализовать следующий контрольный список. Это позволит легко импортировать данные в R:

  • Типичным форматом электронной таблицы является использование первых строк в качестве заголовка (обычно это имя переменной).
  • Избегайте именовать набор данных с пробелами; это может привести к интерпретации как отдельной переменной. В качестве альтернативы, предпочтите использовать «_» или «-».
  • Короткие имена являются предпочтительными
  • Не включайте символ в имя: то есть: exchange_rate _ $ _ € не правильно. Предпочитаю называть это: exchange_rate_dollar_euro
  • В противном случае используйте NA для пропущенных значений; нам нужно очистить формат позже.

Резюме

В следующей таблице приведены функции, которые необходимо использовать для импорта файлов различных типов в R. В первом столбце указана библиотека, связанная с этой функцией. Последний столбец ссылается на аргумент по умолчанию.

Импортирование данных в R

В предыдущих сообщениях было рассмотрено как, работая непосредственно в системе R, можно создать небольшие по объему объекты для хранения данных (векторы, матрицы, списки, таблицы данных). Однако возможности системы R по вводу и редактированию данных умышленно ограничены ее создателями, которые предполагали, что для этого будут использоваться другие средства (например, программа Microsoft Excel). Поэтому подлежащие анализу объемные таблицы данных обычно подготавливаются при помощи сторонних приложений, и только потом загружаются в рабочую среду R из внешних файлов. Хотя предпочтение при этом отдается текстовым файлам, с сайта CRAN можно скачать специальную библиотеку foreign , функции которой позволяют импортировать таблицы, сохраненные во множестве других распространенных форматов (Excel, SPSS, SAS, STATA, Acces, Matlab, SQL, Oracle, и т.п.; см. также руководство R Data Import/Export).

Импортирование данных в систему R часто вызывает проблемы у тех, кто только начинает работать с этой программой. Но ничего сложного в этом нет. Ниже будут подробно рассмотрены наиболее распространенные способы импорта таблиц данных в рабочую среду R, однако сначала ознакомимся с правилами подготовки загружаемых файлов:

  • В импортируемой таблице с данными не должно быть пустых ячеек. Если некоторые значения по тем или иным причинам отсутствуют, вместо них следует ввести NA .
  • Импортируемую таблицу с данными рекомендуется преобразовать в простой текстовый файл с одним из допустимых расширений. На практике обычно используются файлы с расширением .txt , в которых значения переменных разделены знаками табуляции (tab-delimited files), а также файлы с расширением .csv (comma separated values), в которых значения переменных разделены запятыми.
  • В качестве первой строки в импортируемой таблице рекомендуется ввести заголовки столбцов-переменных. Такая строка – удобный, но не обязательный элемент загружаемого файла. Если она отсутствует, то об этом необходимо сообщить в описании команды, которая будет управлять загрузкой файла (например, read.table() – см. ниже). Все последующие строки файла в качестве первого элемента содержат заголовки строк (если таковые предусмотрены), после которых следуют значения каждой из имеющихся в таблице переменных. В именах столбцов таблицы не допускается наличие пробелов. Кроме того, имена столбцов (так же как и имена строк) не должны начинаться с точки или чисел. Во избежание связанных с кодировкой проблем все текстовые величины в импортируемых файлах рекомендуется создавать с использованием букв латинского алфавита.
  • Подлежащий импортированию файл рекомендуется поместить в т.н. рабочую папку программы, т.е. папку, в которой R по умолчанию будет "пытаться" найти этот файл. Чтобы выяснить путь к рабочей папке R на своем компьютере используйте команду getwd() (getworking directory – узнать рабочую директорию); например:

getwd() [1] "C:/Temp/"

Изменить рабочую директорию можно при помощи команды setwd() (set working directory – создать рабочую директорию):

setwd("C:/My Documents") # при выполнении приведенной команды внешне ничего не произойдет, # однако последующее применение команды getwd() покажет, # что путь к рабочей папке изменился: getwd() [1] "C:/My Documents/" 

Ниже приведен фрагмент типичной таблицы данных, которая может быть успешно загружена для анализа в среду R. Используйте этот фрагмент в качестве образца при оформлении своих таблиц с данными.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *