Использование статистического пакета R в научно-исследовательской работе
Обоснование значения информации в процессе проведения научных изысканий. Особенности программного обеспечения, предназначенного для обработки данных. Основные элементы программирования на языке R. Пользовательские функции и посторонние библиотеки.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 25.05.2014 |
Размер файла | 355,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ЗДРАВООХРАНЕНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
ВИТЕБСКИЙ ГОСУДАРСТВЕННЫЙ МЕДИЦИНСКИЙ УНИВЕРСИТЕТ
Кафедра информационных технологий с курсом электронной библиотеки
Контрольная работа
Использование статистического пакета R в научно-исследовательской работе
Витебск, 2013 год
Содержание
Введение
1. Основные элементы работы в R
2. Пользовательские функции
3. R-studio
4. Сторонние библиотеки: установка и использование
Заключение
Список использованных источников
Введение
Проведение научных изысканий имеет своей целью получение тех или иных данных касательно объекта исследования. В дальнейшем, данные подвергаются когнитивной обработке, что приводит к их преобразованию в информацию. Если заглянуть в толковый словарь, можно получить такое определение понятия «информация»: «смысловое содержание объективной информации об объектах и процессах материального мира, сформированное сознанием человека с помощью смысловых образов (слов, образов и ощущений) и зафиксированное на каком-либо материальном носителе». Таким образом, можно отметить важную особенность информации, а именно - ее субъективность: информация субъективна в силу того, что она определяется степенью восприятия субъекта (получателя информации) или же субъективностью метода получения информации.
Что же можно почерпнуть из предыдущего абзаца? Ученый, изучающий некоторую проблему, зависит не только от объекта исследования, но и от инструментов, с которыми работает, и даже от собственных знаний. Разные экспериментаторы могут разными способами проводить изучение одного и того же явления, опираясь на собственный опыт и образ мышления.
В этом свете можно отметить, что важность имеет не только то, что мы изучаем, но и то, как мы это делаем. Таким образом, любой научный подход имеет свои особенности, свою систему идей и традиций. Вспомним, что на настоящий момент существует множество парадигм программирования, каждая из которых имеет сильные и слабые стороны, и, вместе с тем, имеет своих последователей. Так, например, современный программист, разрабатывающий программы на C++, в большинстве случаев воспользуется объектно-ориентированной парадигмой программирования, в то время как, равный ему LISP-программист найдет функциональное решение. Имея информацию, мы можем использовать ее для решения поставленных задач. Неотделимым фрагментом принятия решений являются знания. Знания - совокупность фактов, закономерностей и эвристических правил, с помощью которых решается поставленная задача.
Целостность данных, информации и знаний приводит нас к такому понятию, как информационный поток, или информационная пирамида:
Итак, еще раз: ДАННЫЕ - ИНФОРМАЦИЯ - ЗНАНИЯ И РЕШЕНИЯ. Данные, извлеченные из окружающего нас мира, становятся знаниями только после преломления сквозь призму нашего сознания. Вместе с тем значимость получают инструменты, которые могут использоваться для обработки данных. Особенности программного обеспечения, задействованного в работе, его философия отнюдь не маловажны.
Исходя из собственного скромного разумения, автор хотел бы отметить некоторые особенности, существенные для выбора статистического пакета обработки данных:
- открытость исходного кода. Данное требование связано не с шатким финансовым положением автора, нет. Коммерческие продукты, как правило, имеют закрытый исходный код, в то время как свободное программное обеспечение развивается тысячами энтузиастов по всему миру. Такой подход позволяет не только в кратчайшие сроки находить ошибки в программе, но и с приложением наименьших усилий получить необходимый модуль, написанный для узкого круга задач;
- юзабилити. Удобство работы с интерфейсом программы играет важную роль. Стандартные элементы графического оформления, используемые в линейке программ Statistica или SPSS, помогут новичку сориентироваться, однако для специалиста могут показаться излишними и громоздкими. Использование т. н.: «горячих клавиш» может ускорить работу, однако прирост производительности не будет шокирующим. Исходя исключительно из высокой скорости работы при пакетной обработке данных, автор хотел бы отметить некоторое преимущество CLI перед GUI;
- работа с большими объемами данных. Возможность обработки больших массивов данных является обыденным требованием для социологических или экономических исследований, когда размеры БД может разрастаться до нескольких гигабайт;
- гибкость работы. Зачастую исследователю требуется выполнить ряд примитивных действий (например, открыть файл с данными, загрузить их в пакет статистической обработки, выполнить регрессионный анализ и полученные результаты добавить в отчет), которые при длительном выполнении вызывают туннельный синдром и рябь в глазах. Возникает желание автоматизировать рутину, однако немногие прикладные программы поддерживают макросы или же встроенные языки разработки;
- много поточность. Время исследователя является неоспоримой ценностью, и при приближении deadline'a многократно увеличивает свою стоимость. Опираясь на данные умозаключения, идеальный инструмент обработки данных должен быть многозадачным. Ожидать, когда алгоритм просчитает манхэттенское расстояние для сотен тысяч строк - непозволительная роскошь.
Рассматривая приведенные критерии, автор однозначно выбирает пакет статистической обработки данных R.
Такой пакет, удовлетворяет всем требованиям и даже предоставляет несколько больше.
1. Основные элементы работы в R
R является языком программирования и средой разработки для статистических расчетов. Язык R широко используется среди исследователей для разработки статистического ПО, и анализа данных. R - реализация языка S в форме СПО, комбинированное с семантическими преимуществами Sheme. S был создан Джоном Чемберсом в Bell Labs. R же появился благодаря Россу Яакому и Роберту Джентельмену из Университета Аукленда, Новая Зеландия.
R является частью проекта GNU. Исходный код, написанный преимущественно на C, Fortran и R, является свободно распространяемым под лицензией GNU GPL, и бинарные версии дистрибутива предоставляются под различные операционные системы. R использует интерфейс командной строки (command line interface, CLI), однако существуют среды разработки с графическим интерфейсом.
Да, все верно, в нативной форме общение с R происходит при помощи командной строки.
Что же мы видим?
В первых строках можно увидеть версию программного пакета и дату выхода релиза, особенности лицензирования и цитирования, информацию об основных справочных функциях. Выглядит это следующим образом:
Символ «>» называется приветствием и приглашает нас к началу работы. Работа с командной строкой проста и интуитивно понятна любому, кто знаком с bash или Python. Простейшее применение R может найти как калькулятор:
Обратим внимание, что каждый раз строка, содержащая результат расчетов, начинается с. Это объясняется тем, что любой объект R является вектором, в частности результат сложения 2+2 является вектором единичной длины, первый и единственный элемент которого обозначается. Рассмотрим следующий пример:
Функция с() осуществляет конкатенацию или объединение объектов, которые были переданы ей в качестве аргументов. Векторы могут служить простейшим «хранилищем» данных, подлежащих обработке.
В приведенном примере в вектор data_vector помещаются результаты замеров, среднее значение которых рассчитывается следующим шагом при помощи функции mean(). Вместе с тем, разумно предположить, что вводить значения для анализа раз за разом может стать тягостной и рутинной обязанностью. Это подводит нас к мысли хранить значения экспериментальных данных в отдельном файле, и обрабатывать результаты, экспортируя их. Предположим, что результаты анализа скорости осаждения эритроцитов и температуры подопытного были сохранены в формате *csv в рабочей директории R:
При помощи функции read.csv() данные файла data.csv были считаны в вектор data_from_file. Можно заметить, что вместе с числовыми значениями, были считаны и заголовки столбцов, доступ к которым может осуществляться по имени.
Экспорт данных завершен, и теперь мы может в полной мере почувствовать себя волшебниками клавиатуры, исполинами статанализа, повелителями байтов! Средние значения СОЭ и температуры:
Удивительно, но полученный коэффициент корреляции чрезвычайно низок. Быть может, R считает неправильно? Давайте взглянем на наши цифири! R приветливо откроет окно, в котором будет наш график и добавим на график полученную ранее линейную регрессию:
Действительно, очевидно, что лишь чрезвычайно оптимистичный исследователь увидит, как на данном графике точки группируются относительно прямой. Тем не менее, проявим бдительность. Заподозрив неладное, попросим провести исследование СОЭ и замер температуры тела другого лаборанта, обладающего большим опытом, добросовестностью и отсутствием алкогольной зависимости.
Спустя некоторое время получим новые результаты и поместим их в R:
На данном примере были разобраны основы работы с R. Что же еще может заинтересовать исследователя?
2. Пользовательские функции
Ранее были рассмотрены аспекты программирования на языке R, позволяющие повысить удобство и эффективность научно-исследовательской работы. Предположим, что мы, вконец пораженные ленью, возжелали максимально оптимизировать процесс анализа данных, назначив себя на роль генерального директора, а должность бухгалтера отвели R. Погрузившись в такую мечту, рано ликовать, но улыбнуться можно - R обладает всеми необходимыми средствами для выполнения задуманного.
Осуществить последовательность некоторых действий, необходимых программисту возможно при помощи пользовательских функций. Как и любая функция, my_function может принимать аргументы, которые в нашем случае носят имена arg1 и arg2, и в дальнейшем могут использоваться в теле функции, которое ограничивается фигурными скобками. «Хлеба и зрелищ!» - требовал извращенный Рим, мы не такие, нам хватит зрелищ:
Теперь, когда алиментарные приемы работы функции освоены, попробуем применить полученные знания на практике.
Практически каждому из нас приходится в повседневной жизни выполнять некоторые последовательности действий, будь то чистка зубов или прием пищи.
Рассмотрим банальный пример:
- экстракция данных из бинарного файла;
- получение файла, содержащего данные флуоресцентного анализа вещества.
Для более тщательного осмысления мешанины букв и цифр, построчно разберем приведенный код.
Первой строкой определяется функция spc_inspect, принимающая всего один аргумент - current_file_path. В переменную bin.data помещается информация о соединении с файлом, путь к которому был передан в current_file_path, открытому (судя по второму аргументу функции file() - “read binary”) для бинарного чтения. При помощи метода info функции файл, записываем в переменную size не что иное, как размер файла. arr.data содержит в себе массив значений двойной точности, среди которых интерес для нас представляют элементы от 1489 до 1689 включительно, являющиеся величинами интенсивности и заточенные в I.data. В следующем блоке кода извлекается заголовок спектра, и трансформируется в Бамбалби нечто, удобное для восприятия человеческим разумом - esse. После выполнения перечисленный действий, функция возвращает вектор, состоящий из конкатенированных I.data и esse.
Результатом является массив, содержащий в первых четырех элементах дату анализа, номер пробы, концентрацию зонда, длину волны возбуждения и величины интенсивности флуоресценции. Таким образом, данные, загруженные в R, становятся доступными для обработки, и возникает возможность проведения дальнейшей автоматизации рутинных действий.
3. R-studio
Тем не менее, необходимо признать, что GUI не является абсолютным злом для комфортной работы.
Просмотр и правка исходного кода программы, обозреватель файлов, отдельное окошко для вывода справки или графики - все перечисленные операции хотелось бы проводить параллельно основной работе в консоли, а не подменяя ее.
Так как поставляемая «в коробке» среда разработки, по мнению автора убога и скудна, недолгий поиск по просторам интернета привел к альтернативному решению - R-studio.
Главное окно R-studio разделено на 4 области. Если рассматривать рисунок, то наибольшая из панелей служит для работы со скриптами: поддерживается удобная экстракция кода в функцию, поиск и замена, вывод кода на печать, приятная подсветка синтаксиса.
Приятной особенностью R-studio является опциональная возможность загружать измененный скрипт после сохранения.
Кроме того, существует автодополнение скобок и автозавершение ключевых функций, подсветка выделенных переменных и функций, подсветка парных скобок.
Панель ниже является прямым воплощением консоли и знакома каждому, кто ранее работал с R. Область в правом верхнем левом углу служит для взаимодействия с рабочим окружением: позволяет работать с переменными и функциями, объявленными в глобальном пространстве имен, импортировать наборы данных.
Оставшаяся для рассмотрения панель многофункциональна: обеспечивает доступ к обозревателю файлов, вывод графических изображений, просмотр пакетов и справки.
В целом, интерфейс R-studio представляется продуманным и эргономичным, дает возможность наиболее комфортно работать в R.
4. Сторонние библиотеки: установка и использование
Как указывалось ранее, особая ценность R - в огромном сообществе энтузиастов по всему миру.
Разумно предположить, что это количество программистов, проникнутых духом свободы информации, будут стремиться к тому, чтобы разделить плоды своей работы с другими.
Следствием этого является существование репозитариев, в которых возможно бесплатно получить требуемый пакет.
Таким образом, на 2006 год в репозитариях R насчитывалось более 800 пакетов, 2012 году их число возросло до 3566, что однозначно указывает на бурный рост сообщества и неослабевающий интерес к статистическому пакету R.
Среди библиотек для R можно найти инструменты для работы со строками и изображениями, с файлами и сетью, можно найти модули позволяющие получить доступ к криптографическим и многим, многим иным. Как же осуществляется процесс установки пакета?
Для начала, нам необходимо знать его наименование.
Предположим, требуемый нам пакет называется digest и содержит функции для расчета MD5-хеша файла.
Воспользовавшись так полюбившимся нам R-studio, пропишем в консоли, на что получим следующий ответ:
Итак, пакет скачан и установлен.
Проверяем его существование:
Последний пакет - именно тот, который требовался нам. Подсчитаем md5-хеш ранее использованного файла c0_286.fss.:
Установка и использование сторонней библиотеки успешно выполнена. Таким, или практически таким образом может быть установлена любая библиотека.
Заключение
информация программирование пользовательский
В действительности, невозможно охватить такой глубокий и содержательный предмет как программирование на языке R в настоящем реферате, ограниченном количеством страниц. Основная цель данного опуса - дать искру жажде познания, подготовить почву для произрастания искусства владения статистическим анализом. В заключение же хотелось побеседовать о том, какая роль отведена R на современном рынке ПО для анализа данных и в жизни начинающего ученого.
Несмотря на некоторую табуированность R, он признан обществом: в 2010 году R вошёл в список победителей конкурса «InfoWorld Bossie Awards 2010: The best open source application development software» и получил премию как один из лучших инструментов.
Однако настоящую популярность R имеет среди компаний, занимающихся обработкой т. н.: BigData. Так, например, в октябре 2011 года корпорация Oracle выпустила аппаратно-программный комплекс Big Data Appliance - NoSQL-кластер серверов массово-параллельной обработки, с интегрированным программными средствами на основе языка R и Apache Hadoop. Также массово-параллельный анализ средствами R поддержан в аппаратно-программных комплексах Netezza корпорации IBM.
Также язык R поддерживают коммерческие программные среды Tibco Spotfire, SPSS (начиная с версии 16.0), Statistica (начиная с версии 9.0), Platform Symphony, SAS.
В соответствии с «Rexer's Annual Data Miner Survey» в 2010, R стал наиболее популярным инструментом для обработки данных (43%), по сравнению с остальным сегментом рынка.
Вдобавок, коммерческий потенциал R заслуживает продолжения дискуссии. Так, например, фармацевтическая компания Pfizer использовала R для обработки данных клинических испытаний.
Список использованных источников
1. Википедия - свободная энциклопедия [Электронный ресурс] / Информация. - Вашингтон, 2011.
2. Чубукова, И.А. Data Mining / И.А. Чубукова. - М.: Бином, 2008. - 384 с.
3. Википедия - свободная энциклопедия [Электронный ресурс].
4. Fox, Jh. Using the R Statistical Computing Environment to Teach Social Statistics Courses / Jh. Fox, R. Andersen. - LA.: Master University, 2005. - 560 p.
5. Vance, A. Data Analysts R's Power / A. Vance. - NY: NY Times, 2009. - 346 p.
6. Robert Gentleman's home page (Electronic Resource) / R Article. - NY, 2009. - Mode of access. - Date of access: 25.10.2011.
7. Free Software Foundation (Electronic Resource) / "Free Software Foundation (FSF) Free Software Directory: GNU R". - Virgin, 2010. - Mode of access: GNU_R. - Date of access: 25.10.2011.
8. R Project (Electronic Resource) / Main Page - Moumbai, 2009. - Mode of access: Date of access: 25.10.2011.
9. Info World (Electronic Resource) / InfoWorld Bossie Awards 2010. - New York, 2010. - Mode of access. - Date of access: 25.10.2011.
10. The New York Times Technology (Electronic Resource) / IBM Creates Big Data Frankenstein With Netezza-R Fusion. - New York, 2010. - Mode of access: Date of access: 25.10.2011.
11. CNet News (Electronic Resource) / Open Source “R” gets Hadoop Integration. - New York, 2010.
12. Platform Computing (Electronic Resource) / R integrated in Symphony - New York, 2010. - Mode of access: Date of access: 25.10.2011.
13. SAS (Electronic Resource) / Calling Function in R language - New York, 2010. - Mode of access: Date of access: 25.10.2011.
14. Rexer Analytics (Electronic Resource) / 2010 Data Miner Survey - New York, 2010. - Mode of access: Date of access: 25.10.2011.
Размещено на Allbest.ru
Подобные документы
Назначение и функции информационной системы как программно-аппаратного комплекса, предназначенного для хранения и обработки данных какой-либо предметной области. Каскадная схема создания ИС с обратной связью. Основные элементы языка программирования С++.
контрольная работа [1,7 M], добавлен 14.05.2012Анализ затрат и прибыли. Создание программного проекта для решения задачи о прибыли и убытках на языке программирования C#. Использование функций и переменных, компиляция программы. Алгоритмы и структуры данных. Тестирование программного обеспечения.
курсовая работа [1,2 M], добавлен 03.01.2015Изучение существующих методов и программного обеспечения для извлечения числовых данных из графической информации. Программное обеспечение "graphtrace", его структура и методы обработки данных. Использование этой системы для данных различного типа.
дипломная работа [3,9 M], добавлен 06.03.2013Разработка программного обеспечения, предназначенного для автоматизации деятельности туристической фирмы. Анализ и проектирование базы данных предметной области. Создание концептуальной, логической и физической моделей данных и программы их обработки.
курсовая работа [816,5 K], добавлен 05.02.2018Проектирование структур данных и пользовательского интерфейса. Разработка руководства системного программиста и пользователя. Основные элементы организации работы менеджера по работе с клиентами. Характеристика программного обеспечения ООО "Доминион+".
курсовая работа [1,7 M], добавлен 14.10.2012Понятие шаблона проектирования или паттерна в разработке программного обеспечения. Изменение поведения системы (базы данных) с помощью порождающего шаблона программирования - абстрактной фабрики. Программирование базы данных и управление ею на языке С+.
курсовая работа [124,8 K], добавлен 30.04.2011Сущность языка программирования, идентификатора, структуры данных. Хранение информации, алгоритмы их обработки и особенности запоминающих устройств. Классификация структур данных и алгоритмов. Операции над структурами данных и технология программирования.
контрольная работа [19,6 K], добавлен 11.12.2011Рассмотрение приемов разработки программных средств для автоматизированных систем обработки информации и управления. Разработка программного продукта, предназначенного для автоматизации работы заместителя директора по учебно-воспитательной работе.
дипломная работа [1,7 M], добавлен 27.02.2015Разработка программного обеспечения, предназначенного для предоставления трех способов прохождения тестов для студентов. Построение модели потоков данных, физической базы данных. Выбор языка программирования. Условия эксплуатации, требования к надежности.
дипломная работа [2,7 M], добавлен 18.04.2014Основные этапы разработки программного обеспечения (пакета программ), анализ требований к системе. Метод пошаговой детализации. Языки программирования низкого уровня и высокого уровня (императивные, объектно-ориентированные, функциональные, логические).
презентация [41,4 K], добавлен 13.10.2013