Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум врачей-аспирантов _ Медицинская статистика _ R, MS Word и графика

Автор: Igoroshka 7.05.2009 - 10:33

Доброго времени суток.

Может кому удавалось "подружить" R и Word в плане переноса графиков из R в Word?

Спасибо.

Автор: nokh 7.05.2009 - 14:36

А в чём проблема? Можно кликнуть на рис. правой клавишей и "скопировать как растровый файл", а в ворде вставить из буфера. Можно сохранить как метафайл, отредактировать в CorelDraw (русифицировать, переименовать оси, добавить пояснения), сохранить в растре (bmp, tiff, png) и вставить рисунок в ворд.

Автор: Igoroshka 7.05.2009 - 16:55

Цитата(nokh @ 7.05.2009 - 14:36) *
А в чём проблема? Можно кликнуть на рис. правой клавишей и "скопировать как растровый файл", а в ворде вставить из буфера. Можно сохранить как метафайл, отредактировать в CorelDraw (русифицировать, переименовать оси, добавить пояснения), сохранить в растре (bmp, tiff, png) и вставить рисунок в ворд.

Проблема была в том, чтобы средствами VBA через Rcom получить графики из R и вставить их в Word. Вроде бы нашел способ.
А все (ну почти все smile.gif ) надписи, доп. линии, полигоны (если не использовать прозрачность) и в нужных местах можно делать сразу же в R без последующего редактирования в Corel или AI.

P.S. При переносе в Corel (v.12) графиков с русскими названиями (R 2.8, 2.9), при разгруппировке метафайлов, например, в PowerPoint, русские символы превращаются в крякозябры (проверял под английскими XP и вистой с установленной поддержкой русского языка).

Автор: nokh 7.05.2009 - 18:48

Ясно, так глубоко я, конечно, не копал:).

Автор: Igoroshka 8.05.2009 - 10:05

Цитата(nokh @ 7.05.2009 - 18:48) *
Ясно, так глубоко я, конечно, не копал:).

Удобная связка -- расчет в R с возвратом результата (текстового и графического) в Word. Для Excel есть RExcel.

Автор: nokh 8.05.2009 - 19:59

А для чего это нужно? Может только для автоматической генерации отчетов. А для создания профессиональной графики возможности R сильно ограничены встроенными возможностями конкретной библиотеки. Т.е. если дело коснется не классических гистограмм, диаграмм рассеяния и т.п., то графики бывают нередактируемые. Например, разбирался с redundancy analysis (ординационная техника), там пакет выдает к отчету нередактируемый биплот, а эстетическое чувство его авторов просто никакое - без корела не обойтись.

Автор: Igoroshka 9.05.2009 - 09:25

Цитата(nokh @ 8.05.2009 - 19:59) *
А для чего это нужно? Может только для автоматической генерации отчетов. А для создания профессиональной графики возможности R сильно ограничены встроенными возможностями конкретной библиотеки. Т.е. если дело коснется не классических гистограмм, диаграмм рассеяния и т.п., то графики бывают нередактируемые. Например, разбирался с redundancy analysis (ординационная техника), там пакет выдает к отчету нередактируемый биплот, а эстетическое чувство его авторов просто никакое - без корела не обойтись.

При расчетах я формирую "протокол" (что-то типа документа вывода в Статистике), т.е. команда-результат работы команды. Видна последовательность, преобразования, условия и предположения анализа. Кроме того, обычно (увы) бывает, что данные доуточняются. Тогда можно использовать этот протокол для полуавтоматического обновления.

По поводу ограниченности графики в R. Сильно не соглашусь. Мне приходилось очень много работать с представлением данных. В ход шли и Excel, и Corel Draw, и Corel Photopaint. Ну и, конечно, PowerPoint smile.gif. В R богатство именно профессиональной графики просто поражает. И практически все можно сделать средствами самого R. Например, чтобы вывести гистограму можно воспользоваться:
hist(x)
Но такой вывод вряд ли понравится. Но можно сделать и так:
hist(x, main="Это заголовок", xlab="подпись оси х", ylab="подпись оси у", col=rainbow(5), breaks=c(seq(0, 20, 5), 70), lwd=1)
и Вы увидете что-то совершенно иное. А добавив еще:
rug(jitter(x))
grid()

Вы сможете даже поэстетствовать rolleyes.gif
Сходите сюда http://addictedtor.free.fr/graphiques/allgraph.php. Возможно, Вы будете поражены.

Да, без Corel, а еще лучше AI не обойтись, если Вам необходимо представить достаточно большое количество графики для издательства. К сожалению, R не позволяет использовать модель CMYK (только RGB, MacRGB, Lab). Однако, на сколько мне известно, другие пакеты также не позволяют это делать.

Автор: плав 9.05.2009 - 14:00

Цитата(Igoroshka @ 9.05.2009 - 10:25) *
При расчетах я формирую "протокол" (что-то типа документа вывода в Статистике), т.е. команда-результат работы команды. Видна последовательность, преобразования, условия и предположения анализа. Кроме того, обычно (увы) бывает, что данные доуточняются. Тогда можно использовать этот протокол для полуавтоматического обновления.


Так почему не использовать Sweaver, это же как раз инструмент документирования и решает именно те проблемы, о которых Вы говорите (Sweaver автоматом встроен в последние версии R), единственный минус - ориентировка на Latex, но при наличии MikTex это не является серьезным ограничением.

Автор: Igoroshka 9.05.2009 - 19:26

Цитата(плав @ 9.05.2009 - 14:00) *
Так почему не использовать Sweaver, это же как раз инструмент документирования и решает именно те проблемы, о которых Вы говорите (Sweaver автоматом встроен в последние версии R), единственный минус - ориентировка на Latex, но при наличии MikTex это не является серьезным ограничением.

Не дошел rolleyes.gif. Поработал с Tinn-R, R for Eclipse. На данный момент лучше всего оказалась связка с Wordом.
За "наводку" спасибо. Обязательно посмотрю.

Автор: Игорь 11.05.2009 - 20:25

Цитата(Igoroshka @ 9.05.2009 - 09:25) *
В R богатство именно профессиональной графики просто поражает ... Сходите сюда ... Возможно, Вы будете поражены.

Честно - не поражен. А поражен был, когда более 10 лет назад увидел Corel WordPerfect Office (сейчас он так называется) OEM версии, полученной в комплекте с материнской платой (именно так). Тогда это была еще английская версия 97. Так вот: Word-ы & Co. всех версий отдыхают даже относительно той самой версии. А сейчас уже есть русская версия X3 данного пакета.

Автор: плав 12.05.2009 - 10:53

Цитата(Игорь @ 11.05.2009 - 21:25) *
Честно - не поражен. А поражен был, когда более 10 лет назад увидел Corel WordPerfect Office (сейчас он так называется) OEM версии, полученной в комплекте с материнской платой (именно так). Тогда это была еще английская версия 97. Так вот: Word-ы & Co. всех версий отдыхают даже относительно той самой версии. А сейчас уже есть русская версия X3 данного пакета.

В R много типов графики, которая отсутствует в офисных пакетах (bag plot, диаграммы рассеяния с коробчатыми графиками, собственно коробчатые графики, графики ядерной плотности и т.п.), кроме того, он поддерживает создание карт - картограмм (офисные пакеты этого также не умеют), поэтому как инструмент статистической графики - спецализированные программы не заменимы. Кроме того, нарисовать, например, столбиковую диаграмму с ошибкой среднего в электронной таблице можно, но возни много (используется high-low-close), а в сконфигурированном R все это делается очень легко.
Другое дело, что освоение графических методов предполагает освоение R со всеми прелестями командной строки.

Автор: Igoroshka 12.05.2009 - 13:06

Цитата(плав @ 12.05.2009 - 10:53) *
В R много типов графики, которая отсутствует в офисных пакетах (bag plot, диаграммы рассеяния с коробчатыми графиками, собственно коробчатые графики, графики ядерной плотности и т.п.), кроме того, он поддерживает создание карт - картограмм (офисные пакеты этого также не умеют), поэтому как инструмент статистической графики - спецализированные программы не заменимы. Кроме того, нарисовать, например, столбиковую диаграмму с ошибкой среднего в электронной таблице можно, но возни много (используется high-low-close), а в сконфигурированном R все это делается очень легко.
Другое дело, что освоение графических методов предполагает освоение R со всеми прелестями командной строки.

В офисе можно ведь в форматировании серии данных указать данные для "усов". Или Вы имели ввиду более сложные графики?


Автор: Igoroshka 20.05.2009 - 10:58

Цитата(плав @ 12.05.2009 - 10:53) *
...Другое дело, что освоение графических методов предполагает освоение R со всеми прелестями командной строки.

Можно воспользоваться пакетом latticist -- http://code.google.com/p/latticist/

Автор: Igoroshka 20.05.2009 - 11:03

Цитата(Игорь @ 11.05.2009 - 20:25) *
Честно - не поражен. А поражен был, когда более 10 лет назад увидел Corel WordPerfect Office (сейчас он так называется) OEM версии, полученной в комплекте с материнской платой (именно так). Тогда это была еще английская версия 97. Так вот: Word-ы & Co. всех версий отдыхают даже относительно той самой версии. А сейчас уже есть русская версия X3 данного пакета.

Хм. Установил в виртуальной машине пробную версию Corel WordPerfect Office X4. Посмотрел возможности построения графиков. На мой взгляд не хуже, но и не лучше того же Microsoft Graph, хоть из старой версии ХР, хоть из 2007. И примерно те же возможности в OpenOffice 3.1.0. Стандартная бизнес графика.


Автор: Игорь 20.05.2009 - 13:54

Цитата(Igoroshka @ 20.05.2009 - 12:03) *
Хм. Установил в виртуальной машине пробную версию Corel WordPerfect Office X4. Посмотрел возможности построения графиков. На мой взгляд не хуже, но и не лучше того же Microsoft Graph, хоть из старой версии ХР, хоть из 2007. И примерно те же возможности в OpenOffice 3.1.0. Стандартная бизнес графика.

Конечно, это же офисный пакет, а не специализированная графическая программа. Хотел подчеркнуть, что на MS Office свет клином не сошелся.

Автор: плав 20.05.2009 - 17:43

Цитата(Igoroshka @ 12.05.2009 - 14:06) *
В офисе можно ведь в форматировании серии данных указать данные для "усов". Или Вы имели ввиду более сложные графики?

Ну, во-первых сделать коробчатый график с зазубринами просто не получится - такой тип графиков отсутствует как класс. Во-вторых, все расчеты для коробчатого графика надо делать самостоятельно (т.е. все квартили расчитать), а, в-третьих, тип графика не дает возможности нанести медиану (четыре значения) + нет возможности сделать схематическую форму коробчатого графика (только скелетную), иными словами невозможно нанести на график вылетающие значения.
Что же касается стобликов с ошибкой среднего, то (опять-таки после ручного расчета) Excel требует пять значений, хотя реально нужны только три - два значения должны дулировать существующие.
Вообще причины по которым Excel и его аналоги не подходят для статистической графики можно перечислять долго - но причина одна и простая - это просто программа, не предназначаенная для данной задачи. Это пакет для работы с деловой, а не научной информацией.

Автор: плав 20.05.2009 - 17:49

Цитата(Igoroshka @ 20.05.2009 - 11:58) *
Можно воспользоваться пакетом latticist -- http://code.google.com/p/latticist/

Ни одна надстройка не даст возможности использовать все графические прелести. Это во-первых. А во-вторых - наиболее важное, это и не надо. Изготовление научных графиков требует стандартизации подписей по осям, диапазона данных на осях и т.д., вносить это каждый раз вручную в диалоговое окно бессмысленно, если можно нажать на клавишу со стрелкой, вернуть предыдущую команду и исправить там только имя переменной. Это как R-commander. Поиграл с ним, показываю начинающим, но смысла кроме преодоления страха перед командной строкой в нем не вижу.

Автор: Игорь 20.05.2009 - 18:05

Буквально сегодня коллега прислал ссылку на шаблоны для Excel. Хочу поделиться с уважаемыми собеседниками: http://xoomer.virgilio.it/gianmarco.alberti/index_file/Page395.htm (в самом низу страницы). Автор шаблонов сделал стандартными средствами Excel интересные графики. Правда, там половина по-итальянски, но разобраться можно.

Со своей стороны постараюсь повторить идею.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)