Точечные участки с несколькими категориями - R
Я определенно неофит R для визуализации данных, так что терпите меня.
Я собираюсь создать точечные графики рядом друг с другом из семи категориальных образцов со многими значениями экспрессии генов, соответствующими именам отдельных генов. Файл mydata.csv выглядит следующим образом
B27 B28 B30 B31 LTNP5.IFN.1 LTNP5.IFN.2 LTNP5.IL2.1
1 13800.91 13800.91 13800.91 13800.91 13800.91 13800.91 13800.91
2 6552.52 5488.25 3611.63 6552.52 6552.52 6552.52 6552.52
3 3381.70 1533.46 1917.30 2005.85 3611.63 4267.62 5488.25
4 2985.37 1188.62 1051.96 1362.32 2717.68 2985.37 5016.01
5 1917.30 2862.19 2625.29 2493.26 2428.45 2717.68 4583.02
6 990.69 777.97 1269.05 1017.26 5488.25 5488.25 4267.62
Я хотел бы, чтобы каждый пример данных был организован в своем точечном графике на одном графике. Кроме того, если бы я мог указать отдельные данные, представляющие интерес, это было бы здорово.
Спасибо!
2 ответа
Учитывая, что ваши [игрушки] данные хранятся во фрейме данных под названием a
:
library(reshape2)
library(ggplot2)
a$trial<-1:dim(a)[1] # also, nrow(a)
b<-melt(data = a,varnames = colnames(a)[1:7],id.vars = "trial")
b$variable<-as.factor(b$variable)
ggplot(b,aes(trial,value))+geom_point()+facet_wrap(~variable)
производит
Что мы сделали: загрузили необходимые библиотеки (reshape2
конвертировать из широкого в длинный и ggplot2
чтобы, ну, сюжет); melt
редактировал данные в длинном формате (труднее читать, легче обрабатывать), а затем наносил на график ggplot
,
Я ввел trial
чтобы указать на каждый "прогон" каждой переменной был измерен, и поэтому я построил trial
против value
на каждом уровне variable
, facet_wrap
часть помещает каждый участок в область подзаголовка, определяемую variable
,
Вы можете использовать базу R, но вам нужно конвертировать в matrix
первый.
dotchart(as.matrix(df))
или мы можем транспонировать матрицу, чтобы упорядочить ее по образцу:
dotchart(t(as.matrix(df)))