Импортирование данных в систему R часто вызывает проблемы у тех, кто только начинает работать с этой программой. Но ничего сложного в этом нет. Ниже будут подробно рассмотрены наиболее распространенные способы импорта таблиц данных в рабочую среду R, однако сначала ознакомимся с правилами подготовки загружаемых файлов:
- В импортируемой таблице с данными не должно быть пустых ячеек. Если некоторые значения по тем или иным причинам отсутствуют, вместо них следует ввести NA.
- Импортируемую таблицу с данными рекомендуется преобразовать в простой текстовый файл с одним из допустимых расширений. На практике обычно используются файлы с расширением .txt, в которых значения переменных разделены знаками табуляции (tab-delimited files), а также файлы с расширением .csv (comma separated values), в которых значения переменных разделены запятыми.
- В качестве первой строки в импортируемой таблице рекомендуется ввести заголовки столбцов-переменных. Такая строка – удобный, но не обязательный элемент загружаемого файла. Если она отсутствует, то об этом необходимо сообщить в описании команды, которая будет управлять загрузкой файла (например, read.table() – см. ниже). Все последующие строки файла в качестве первого элемента содержат заголовки строк (если таковые предусмотрены), после которых следуют значения каждой из имеющихся в таблице переменных. В именах столбцов таблицы не допускается наличие пробелов. Кроме того, имена столбцов (так же как и имена строк) не должны начинаться с точки или чисел. Во избежание связанных с кодировкой проблем все текстовые величины в импортируемых файлах рекомендуется создавать с использованием букв латинского алфавита.
- Подлежащий импортированию файл рекомендуется поместить в т.н. рабочую папку программы, т.е. папку, в которой R по умолчанию будет "пытаться" найти этот файл. Чтобы выяснить путь к рабочей папке R на своем компьютере используйте команду getwd() (get working directory – узнать рабочую директорию); например:
 
 getwd() [1] "C:/Temp/" 
 Изменить рабочую директорию можно при помощи команды setwd() (set working directory – создать рабочую директорию):
 
 
Ниже приведен фрагмент типичной таблицы данных, которая может быть успешно загружена для анализа в среду R. Используйте этот фрагмент в качестве образца при оформлении своих таблиц с данными.
| 
Group | 
Variable1 | 
Variable2 | 
Variable3 | |
| 
Ivan | 
A | 
102 | 
1.3 | 
14 | 
| 
Vitaliy | 
A | 
98 | 
1.4 | 
11 | 
| 
Sergey | 
B | 
45 | 
NA | 
8 | 
| 
Mikhail | 
B | 
50 | 
3.2 | 
6 | 
Как видим, приведенный фрагмент имеет размерность 5х5, т.е. состоит из пяти строк и пяти столбцов. В первой строке представлены заголовки всех имеющихся в таблице столбцов, за исключением первого. Первый столбец, хотя и не имеет собственного заголовка, не является пустым – он содержит имена добровольцев, участвовавших в некотором эксперименте (Ivan, Vitaliy, и т.д.). Второй столбец имеет заголовок Group и содержит метки, по которым можно выяснить принадлежность испытуемых к той или иной экспериментальной группе (A, B, и т.д.). В терминах языка R переменная Group называется фактором. В последующих столбцах (с заголовками Variable1, Variable2, и т.д.) содержатся значения измеренных в ходе исследования переменных. В приведенном фрагменте таблицы имеется одно отсутствующее значение, вместо которого введено NA.
Пожалуй, одним из наиболее доступных и удобных средств подготовки данных для их последующего анализа при помощи R, является программа Microsoft Excel. Для сохранения Excel-таблиц в виде txt- или csv-файлов используйте опцию Сохранить как (Save as) в разделе Файл (File) главного меню этой программы. 
Основной функцией для импортирования данных в рабочую среду R является read.table(). Эта мощная функция позволяет достаточно тонко настроить процесс загрузки внешних файлов, в связи с чем она имеет большое количество управляющих аргументов. Наиболее важные из этих аргументов перечислены ниже в таблице (подробнее см. файл помощи, доступный по команде ?read.table).
Основной функцией для импортирования данных в рабочую среду R является read.table(). Эта мощная функция позволяет достаточно тонко настроить процесс загрузки внешних файлов, в связи с чем она имеет большое количество управляющих аргументов. Наиболее важные из этих аргументов перечислены ниже в таблице (подробнее см. файл помощи, доступный по команде ?read.table).
| 
Аргумент | 
Назначение | 
| 
file | 
Служит для указания пути к   импортируемому файлу. Путь приводят либо в абсолютном виде (например, file = "C:/Temp/MyData.dat"), либо указывают только имя импортируемого файла (например, file = "MyData.txt"), но при условии, что последний хранится в рабочей папке программы (см. выше).   В качестве имени можно также указывать полную URL-ссылку на файл, который предполагается загрузить из Internet (например: file = "http://somesite.net/YourData.csv"). Начиная с версии R 2.10, появилась возможность импортировать архивированные   файлы в zip-формате. | 
| 
header | 
Служит для сообщения   программе о наличии в загружаемом файле строки с заголовками столбцов. По   умолчанию принимает значение FALSE. Если строка с   заголовками столбцов имеется, этому аргументу следует присвоить значение TRUE. | 
| 
row.names | 
Служит для указания номера   столбца, в котором содержатся имена строк (например, в рассмотренном выше   примере это был первый столбец, поэтому row.names = 1). Важно помнить, что все имена строк должны быть уникальными, т.е.   одинаковые имена для двух или более строк не допускаются. | 
| 
sep | 
Служит для указания   используемого в файле разделителя значений переменных (separator – разделитель). По   умолчанию предполагается, что значения переменных разделены "пустым   пространством", например, в виде пробела или знака табуляции (sep = ""). В файлах формата csv значения переменных разделены запятыми, и поэтому для них sep = ",". | 
| 
dec | 
Служит для указания знака,   используемого в файле для отделения целой части числа от дроби. По умолчанию sep = ".". Однако во многих странах в качестве десятичного знака применяют   запятую, о чем важно вспомнить перед загрузкой файла и, при необходимости,   использовать dec = ",". | 
| 
nrows | 
Выражается целым числом,   указывающим количество строк, которое должно быть считано из загружаемой   таблицы. Отрицательные и иные значения игнорируются. Пример: nrows = 100. | 
| 
skip | 
Выражается целым числом,   указывающим количество строк в файле, которое должно быть пропущено перед   началом импортирования. Пример: skip   = 5 | 
Для загрузки тщательно подготовленных файлов (см. правила выше) достаточно использовать минимальный набор аргументов функции read.table(). В качестве примера предположим, что нам необходимо загрузить файл hydro_chem.txt, который хранится в рабочей папке R и содержит данные по химическому составу воды некоторого водоема. Загружаемую таблицу данных мы намерены сохранить в виде объекта с именем chem. Функция read.table() в этом случае может быть применена следующим образом:
chem <- read.table(file = "hydro_chem.txt", header = TRUE)
Как отмечено выше, импортируемые в R файлы часто имеют формат csv. Для их загрузки можно воспользоваться той же функцией read.table(), но при этом следует указать, что в качестве разделителя значений переменных в файле используется запятая:
chem <- read.table(file = "hydro_chem.csv", header = TRUE, sep = ",")
Аналогом read.table() для загрузки csv-файлов является функция read.csv():
Если подлежащий загрузке файл хранится в папке, отличной от рабочей папки R, то следует указать полный путь к нему. При этом пользователям операционных систем Windows необходимо помнить, что для указания полных путей к файлам в программе R используется не обратный одинарный слэш (\), а прямой одинарный (/) либо двойной обратный слеш (\\). Например, следующие две команды будут успешно восприняты R и приведут к идентичному результату – загрузке файла hydro_chem.txt и сохранению его в виде объекта chem:
Для интерактивного выбора загружаемого файла, который хранится вне рабочей папки R, можно применить вспомогательную функцию file.choose() (выбрать файл). Выполнение этой команды приводит к открытию обычного диалогового окна операционной системы Windows, в котором пользователь выбирает папку с необходимым файлом. Очень удобно совмещать file.choose() с командами read.table() или read.csv(), например:
chem <- read.table(file = file.choose(), header = TRUE, sep = ",")
 

Так помогает.
В пояснении к dec опечатка sep = "."
Например, читаю я R-data import export manual.
По логике они должны бы в первой строчке написать про рабочую директорию.
Но почему-то они об этом НИЧЕГО НЕ ПИШУТ. Специально???
Отправить комментарий