Начертаване на три плътности на една и съща графика в различни линии със заглавия и т.н

Аз съм много, много нов в 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 Gallery (вероятно не работи в момента) и още.

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

person Dirk Eddelbuettel    schedule 04.06.2013
comment
Благодаря ти Дърк. Ще погледна. Стресиращи неща! Бюджетът ми е много ограничен (имах само шест месеца за дипломната си работа) и кривата на обучение за R е доста стръмна. Иска ми се някой да изготви по-удобен за потребителя GUI за него. - person user2439887; 04.06.2013
comment
@user2439887 Има и ориентираната към ggplot готварска книга за R -- Също така можете да получите цветни палитри, безопасни за далтонисти, които се предлагат в пакетът 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