Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
RCoreTeam2014.docx
Скачиваний:
46
Добавлен:
08.10.2015
Размер:
539.13 Кб
Скачать
      1. Работа с фреймами данных

Полезное соглашение, которое позволяет удобно работать со многими различными проблемами в том же самом рабочем каталоге является:

  • собрать все переменные для любой четко определенной и отдельной проблемы во фрейме данных под соответственно информативным именем;

  • при работе с проблемой присоедините соответствующий фрейм данных в позиции 2, и используйте рабочий каталог на уровне 1 для операционных величин и временных переменных;

  • прежде, чем оставить проблему, добавьте любые переменные, которые необходимо сохранить для будущей ссылки на фрейм данных, используя форму присвоения $, а затемdetach().

  • наконец удалите все нежелательные переменные из рабочего каталога и сохраните его столь же чистым из оставшихся временных переменных насколько возможно.

Таким образом, довольно просто работать со многими проблемами в одном и том же каталоге, у каждой из которых есть переменные, названные x, y и z, например.

      1. Присоединение произвольных списков

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

> attach(any.old.list)

Что-либо, что было присоединено, может быть отсоединено detach(), номером позиции или, предпочтительно, по имени.

      1. Управление путем поиска

Функция searchпоказывает текущий путь поиска, и таким образом является очень полезным способом отслеживания, какие фреймы данных и списки (и пакеты) были присоединены и отсоединены. Первоначально получаем путь:

> search()

[1] ".GlobalEnv" "Autoloads" "package:base" где.GlobalEnvявляется рабочей областью.

После присоединения lentilsмы получаем:

> search()

[1] ".GlobalEnv" "lentils" "Autoloads" "package:base"

> ls(2)

[1] "u" "v" "w"

и как видим ls(илиobject) может использоваться для определения контента любой позиции на пути поиска.

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

> detach("lentils")

> search()

[1] ".GlobalEnv" "Autoloads" "package:base"

  1. Чтение данных из файлов

Большие объекты данных обычно читают как значение из внешних файлов, а не вводиться во время сеанса R с клавиатуры. Средства ввода R просты, и их требования ясно ограничены и даже довольно не гибки. Есть ясное предположение разработчиков R,что Вы в состоянии изменить свои входные файлы, используя другие инструменты, такие как редакторы файлов или Perl для согласования с требованиямиR. Обычно это очень просто.

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

Для получения дополнительной информации по импорту и экспорту данных в R см. справочник Импорта/Экспорта данных R .

    1. Функция read.Table()

Чтобы непосредственно считать весь фрейм данных из внешнего файла обычно используется специальная форма.

  • Первая строка файла должно иметь имядля каждой переменной во фрейме данных.

  • Каждая дополнительная строка файла в качестве своего первого элемента имеет метку строкии значение для каждой переменной.

Если файл имеет на один элемент меньше в его первой строке, чем в его второй, то это расположение, как предполагают, находится в силе. Так, первые несколько строк файла, подлежащего чтению в качестве фрейма данных, могут выглядеть следующим образом.

Форма входного файла с именами и метками строк:

Price Floor Area Rooms Age Cent.heat

  1. 52.00 111.0 830 5 6.2 no

  2. 54.75 128.0 710 5 7.5 no

  3. 57.50 101.0 1000 5 4.2 no 04 57.50 131.0 690 6 8.8 no 05 59.75 93.0 900 5 1.9 yes

...

По умолчанию числовые элементы (кроме меток строки) считываются как числовые переменные, и нечисловые переменные, такие как Cent.heat в примере, как факторы. Это может быть изменено в случае необходимости.

Затем функцию read.table()можно использовать для непосредственного считывания фрейм данных:

> HousePrice <-read.table ("houses.data")

Часто желательно опустить включенные метки строк и использовать метки по умолчанию. В этом случае в файле можно опустить столбец метки строки как в следующем.

Входная форма файла без меток строк:

Price

Floor Area Rooms Age

Cent.heat

52.00

111.0 830 5

6.2 no

54.75

128.0 710 5

7.5 no

57.50

101.0 1000 5

4.2 no

57.50

131.0 690 6

8.8 no

59.75

93.0 900 5

1.9 yes

Затем фрейм данных может быть считан как:

> HousePrice <-read.table ("houses.data", header=TRUE) где опцияheader=TRUEуказывает, что первая строка - строка заголовков, что следует из формы файла, и что отсутствуют явные метки строки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]