Отображение трех плотностей на одном и том же графике с разными шаблонами линий с заголовками и т. д.

Я очень, очень новичок в R, поэтому, пожалуйста, простите основной характер моего вопроса. Короче говоря, я много искал в Google, чтобы попытаться ответить на этот вопрос, но я обнаружил, что даже доступные основные руководства и простые обсуждения на форумах предполагают больше предварительных знаний, чем у меня есть, особенно когда дело доходит до изложения того, что все термины кодирования и что их изменение означает для сюжета.

Короче говоря, у меня есть таблица в формате табуляции с тремя столбцами данных, для которых я хочу отображать плотности на одном графике. Я хотел бы, чтобы линии были разных рисунков (точечные, пунктирные и т. д., чтобы их было легко отличить друг от друга, я не могу использовать цвета, так как мой руководитель дальтоник).

У меня есть код, который считывает данные и делает доступными интересующие меня столбцы:

mydata <- read.table("c:/Users/Demon/Desktop/Thesis/Fst_all_genome.txt", header=TRUE,
sep="\t")

fstdata <- data.frame(Fst_ceu_mkk =rnorm(10),
                      Fst_ceu_yri =rnorm(10),
                      Fst_mkk_yri =rnorm(10))

Куда мне идти отсюда?


person user2439887    schedule 04.06.2013    source источник


Ответы (3)


Приложение A "Введение в R" содержит хорошее пошаговое руководство, которое вы можете сделать за десять минут; он учит, среди прочего, типам линий и т. д.

После этого и здесь десятки раз объясняли построение плотностей; выполните поиск в окне поиска выше, например, «плотность [r]». Существует также Галерея R Graph (возможно, она сейчас закрыта) и многое другое.

Хорошее бесплатное руководство, которое я часто рекомендую, — это simpleR Джона Верзани. сильно подчеркивает графики и научит вас тому, что вам здесь нужно.

person Dirk Eddelbuettel    schedule 04.06.2013
comment
Спасибо, Дирк. Я посмотрю. Стрессовая штука! У меня очень ограниченный бюджет времени (мне дали всего шесть месяцев на мою диссертацию), и кривая изучения R довольно крутая. Хотелось бы, чтобы кто-нибудь приготовил для него более удобный графический интерфейс. - person user2439887; 04.06.2013
comment
@ user2439887 Существует также ориентированная на ggplot поваренная книга для R. Также вы можете получить < href="http://www.mollietaylor.com/2012/10/color-blindness-and-palette-choice.html" rel="nofollow noreferrer">цветовые палитры, безопасные для дальтоников, которые доступны в пакет RColorBrewer. - person mnel; 04.06.2013
comment
Я не хочу показаться ленивым, но, несмотря на то, что руководство simpleR кажется довольно всеобъемлющим инструментом, оно слишком много ходит вокруг да около, когда дело доходит до шаблонов. В идеале мне нужны эти графики на следующий день или около того, поэтому мне просто нужно быстрое и грязное решение, но объясненное достаточно простыми словами, чтобы я мог применить его и знать, какие переменные изменить или оставить в покое. Если бы кто-нибудь мог предоставить шаблон, в котором я мог бы просто переключать векторы данных, с кратким изложением того, как изменить визуальные аспекты графика, я был бы признателен. - person user2439887; 04.06.2013
comment
Спасибо, mnel - это очень полезно. - person user2439887; 04.06.2013
comment
Хм. Он продолжает говорить, что ggplot не знает, как работать с числовым классом. Без понятия, что это значит... - person user2439887; 04.06.2013
comment
Обратите внимание, что мой ответ не предлагал gpplot или ggplot2. Вы также находитесь на грани злоупотребления этим сайтом, поскольку ваш вопрос vioplot практически идентичен. - person Dirk Eddelbuettel; 04.06.2013
comment
Извинения - у меня не было намерения злоупотреблять ресурсом, на этот вопрос был дан ответ, и это касалось другого сюжета. Я договорился о встрече со статистиком в кампусе, чтобы узнать, смогу ли я найти решение этих проблем. Так что все равно спасибо. Я также рассматриваю возможность использования программного обеспечения, отличного от R, поскольку мне потребуется гораздо больше инструкций, прежде чем я смогу использовать его без особой помощи. - person user2439887; 04.06.2013

Два варианта для изучения с использованием высокоуровневой графики.

# dummy data
d = data.frame(x = rnorm(10), y = rnorm(10), z = rnorm(10))

Сначала вам нужно преобразовать данные из широкого в длинный формат,

require(reshape2)
m = melt(d)

графика ggplot2

require(ggplot2)
ggplot(data = m, mapping = aes(x = value, linetype = variable)) + 
        geom_line(stat = "density")

Решётчатая графика

Используя те же melt()ed данные,

require(lattice)
densityplot( ~ value, data = m, group = variable, 
            auto.key = TRUE, par.settings = col.whitebg())
person baptiste    schedule 04.06.2013

Если вам нужно что-то очень простое, вы можете сделать просто:

plot(density(mydata$col_1))
lines(density(mydata$col_2), lty = 2)
lines(density(mydata$col_2), lty = 3)

Если вторая и третья кривые плотности находятся далеко от первой, вам необходимо явно определить пределы xy области построения:

dens1 <- density(mydata$col_1)
dens2 <- density(mydata$col_2)
dens3 <- density(mydata$col_3)

plot(dens1, xlim = range(dens1$x, dens2$x, dens3$x),
  ylim = range(dens1$y, dens2$y, dens3$y))
lines(density(mydata$col_2), lty = 2)
lines(density(mydata$col_2), lty = 3)

Надеюсь это поможет.

person René    schedule 09.05.2015