19 июля 2012, анализ данных
Метки: forest plot, ggplot2, R, визуализация, лесной график, мета-анализ
I decided to write this post in English, as I need to practice in writing more.
As I currently do some meta-analytic stuff, I needed to get a proper plot of the results of analysis. The existing solutions are hard to customize, so I decided to do something by myself. Basically, the forest plot is a errorbar plot of effect sizes, plus a list of studies, plus some other stuff, usually a list of effect sizes.
продолжение »
15 июля 2012, анализ данных
Метки: forest plot, ggplot2, R, анализ данных, лесной график, мета-анализ
Задачка на сегодня — научиться рисовать такую хрень подобного рода таблографик в ggplot2.

«Лесной» график (forest plot) из metafor
Самое сложное — это сделать легенду, чтоб не вручную координаты прописывать.
2 июля 2012, анализ данных
Метки: extrafont, ggplot2, R, анализ данных, шрифты
Если вы когда-либо делали графики с русскими подписями в R, то знаете, что периодические появляются проблемы со шрифтами. То буквы слипаются, то вообще одни точки, то еще что. Например вам может выдаваться что-нибудь типа такого:
Warning: conversion failure on 'контроль' in 'mbcsToSbcs':
dot substituted for <ba> |
Большую часть этих проблем можно решить с помощью tikz, если вы работаете с pdf. Однако для экспорта в виде растровых (png, jpeg) изображений такой вариант не очень подходит. Убив пару часов я-таки нашел способ, как можно побороть большую часть проблем. Дело в том, что в используемых по умолчанию шрифтах (тех, которые использует postscript) все крайне плохо с кириллицей. Однако просто взять и указать какие-то системные шрифты вместо стандартных не получится. Postscript жаждет видеть только шрифты в определенном формате, а именно в формате afm, а большинство используемых системы шрифтов хранятся в формате True Type Font (ttf). Кроме того, после конвертации их еще надо импортировать, что тоже не очень тривиально. Для того, чтобы решить все проблемы разом есть прекрасный пакет extrafont. Для того, чтобы все заработало, нужно установить пакет, а затем выполнить команду font_import(). Она автоматически находит все шрифты в системе и конвертирует их в нужный формат. После чего можно посмотреть, какие шрифты доступны с помощью fonttable() или fonts(). После этого для использования шрифтов вам достаточно будет подгрузить их с помощью команды loadfonts() и указать нужный шрифт при создании графика. Например:
library(ggplot2)
library(gridExtra)
png('fonttest%03d.png', width=450,height=450)
p <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()+
xlab("Много-много русских буков")+ylab("Русские буковы по вертикали")
#шрифт по умолчанию
grid.arrange(p + theme_gray(base_family="sans"),
p + theme_gray(base_family="Impact"),
p + theme_gray(base_family="FreeMono"),
p + theme_gray(base_family="Droid Serif"))
dev.off() |

Пример использования TrueType шрифтов в R
Под Windows для работы пакета вам также понадобится указать путь к Ghostscript:
Sys.setenv(R_GSCMD="C:/Program Files/gs/gs9.05/bin/gswin32c.exe") |
25 марта 2012, анализ данных
Метки: dotplot, ggplot2, R, визу, визуализация
В ggplot2 версии 0.9.0 добавился интересный вариант визуализации данных — dotplot. По сути это гистограмма, которая отражает напрямую количество наблюдений. Не знаю, как это по другому описать, просто взгляните на график:

Dotplot + density plot, ggplot2
Линиями отражено распределение плотности, «точками» — наблюдения. Шкала x — средняя точность ответов. Данные представлены для двух групп из одного из моих экспериментов. На графике четко видно, что в обеих группах есть люди, которые просто не прочитали инструкцию, или прочитали неправильно (точность 0.1 — правильный ответ на уровне шанса) =)
Делается такой график вполне просто:
> ggplot(data=art_ev_aggr,aes(x=accuracy))
+ geom_density(aes(linetype=factor(target_time),y=..scaled..))
+ geom_dotplot(dotsize = .5,aes(size=2, fill=factor(target_time)))
+ labs(fill="Target time", linetype="Target time") |
15 марта 2011, заметки
Метки: ggplot2, R, заметки, матметоды, статистика
Ясно, что коррелограммы, да и вообще анализ корреляций — не лучший способ анализа данных. Но тем не менее, в качестве разведывательного анализа или как способ отбора переменных для последующего анализа, мне кажется, он может быть полезен. Собственно, в этом посте — информация про то, как построить симпатичные коррелограммы в R с использованием ggplot2. Результат не идеальный, но при желании его вполне можно допилить до того вида, который вам хочется.


продолжение »