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