Таблицы произвольной структуры

Отображать таблицы большого размера в форме регулярного массива не всегда удобно. В категорическом анализе данных, такая информация часто представляется в форме из ограниченных двумерных массивов со строками и столбцами, определяющими комбинацию из уровней фактора, соответствующих числу ячейки. Эти строки и столбцы - "неровные" в смысле, что значения отображаются, когда они изменяются, с условием, что строки читаются сверху вниз и столбцы читаются слева направо.

В R, такие таблицы сопряженности признаков могут быть созданы, используя функцию ftable, которая создает объекты класса "ftable" с соответствующим методом печати. Как простой пример, рассмотрим R стандартный набор данных UCBAdmissions, которым является 3-мерная таблица сопряженности признаков, следующая из классификации претендентов.

> data (UCBAdmissions)

> ftable (UCBAdmissions)

  Dept A B C D E F
принимать Пол            
допустимы мужчина
  женщина
Отклонены мужчина
  женщина

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

Для того чтобы читать подобные таблицы используется функция read.ftable

read.ftable(file,sep = "", quote = "\"", row.var.names, col.vars, skip = 0)

Параметры:

file символьная строка названия файла.’””’ Указывает на ввод со стола оператора и туда же вывод для записи.
Sep разделитель строк.Значения на каждой строке файла разделены этой строкой.
quote символьная строка.
row.var.names символьный вектор с названиями строк переменных, в случае, если они не могут быть определены автоматически.
col.vars список, дающий названия и уровни столбцов переменных, в случае если они не могут быть определены автоматически.
skip определяет число строк в файле, которые не используются при чтении данных.

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

Пример:

file <- tempfile()

cat(" отношения \n",

"Соц различия Yes No\n",

"Город Муж 43 134\n",

" Жен 26 149\n",

"Село Муж 29 23\n",

" Жен 22 36\n",

file = file)

file.show(file)

ft <- read.ftable(file)

ft

unlink(file)

Для записи подобных таблиц используется команда write.ftable:

write.ftable(x, file = "", quote = TRUE, digits = getOption("digits"))

Параметры:

х объект класса `"ftable"'.
Digits целое число,обозначающее число цифр для использования в х.

Эти таблицы могут быть преобразованы в стандартные таблицы сопряженности признаков в форме массива, используя функцию as.table.

as.table(x, ...)

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

Загрузка и запись данных

Для записи группы объектов в двоичной форме используется функция save():

save(..., list = character(0), file = "", ascii = FALSE, version = NULL, envir = parent.frame(), compress = FALSE)

Параметры:

... названия объектов,которые будут сохранены.
list символьный вектор,содержащий названия объектов,которые будут сохранены.
file название файла,где будут сохранены данные.
ascii если TRUE, то данные будут записываться в формате ASCII. Это необходимо для обмена данных между машинами различного типа. Значение по умолчанию является FALSE, которое означает запись в двоичном файле.
version версия формата рабочей области. NULL означает,что используется текущий формат. Версия, для R от 0.99.0 до R 1.3.1 равна 1. По умолчанию формат для R от 1.4.0 равен 2.
envir путь для поиска сохраненных объектов.
compress логический.Определяет должно ли использоваться сжатие к сохраненному файлу. Игнорируемый для версии 1 формата рабочей области.
safe логический.Если TRUE, временный файл используется для создания сохраненной рабочей области

 

Функция save.image () – сокращенный аналог команды save()с параметрами:

save.image(file = ".RData", version = NULL, ascii = FALSE,compress = FALSE, safe = TRUE)

Cохраненные данные (которые называются image), позже могут быть загружены в память с помощью команды load()

load(file, envir = parent.frame())

Параметры:

file символьная строка - имя файла загрузки
envir путь,где расположены данные

Пример

> save (x, y, z, file = "Mystuff. RData").

> save(list=ls (all=TRUE),file = ". RData").

Для облегчения передачи данных между машинами, может быть использован параметр ascii=TRUE. Таким образом, сохраненные данные (которые называются image), позже могут быть загружены в память с помощью команды

> load ("Mystuff. RData").