Как построить эксперимент с двумя точками за раз - PullRequest
0 голосов
/ 13 июня 2019

У меня есть такой файл эксперимента временного курса с ситуациями контроля и лечения:

Genes   C1    C2    C4    T1    T2    T4
YAL054C 10.59 10.93 11.70 13.15 13.97 14.14 
YAL062W 10.84 11.12 11.29 12.26 12.88 13.04
YAR035W 10.64 10.78 10.72 11.33 11.68 12.00 
YBL023C 10.61 10.85 10.33 10.37 9.88  9.67 

У меня много значений экспрессии генов в 2 экспериментальных ситуациях (контроль и лечение), собранных в 3 разных времени-точки (1 час, 2 часа и 4 часа).Мне нужен график, который будет иметь три точки времени на оси X (это будут «две точки» в момент времени 1, то есть C1 и T1 и т. Д.), Значения выражения на оси Y (вданные представлены, это будет идти от 9.67 до 14.14), и каждая строка будет именем гена.Тогда все контрольные точки условий будут иметь цвет, а условие обработки будет иметь другой цвет.

Я попытался использовать код из ggplots2, который я нашел здесь в Stackoverflow:

ggplot (a, aes(a$V1, y=value, color = variable)) 
+ geom_line(aes(y = a$V2, col = "red")) 
+ geom_line(aes(y = a$V3, col = "red")) 
+ geom_line(aes(y = a$V3, col = "red")) 
+ geom_line(aes(y = a$V4, col = "blue")) 
+ geom_line(aes(y = a$V5, col = "blue")) 
+ geom_line(aes(y = a$V6, col = "blue"))

Но даже при том, что мне удалось напечатать все дела, я не смог найти способ печати, используя только три точки (вместо шести).

1 Ответ

0 голосов
/ 13 июня 2019

Вам, вероятно, потребуется переформатировать ваши данные в длинный формат, чтобы заставить их работать с ggplot.Я изготовил некоторые данные в длинном формате и составил график, который, как мне кажется, вы ищете.

df <- data.frame(gene = rep(1:4, each = 6),
                 type = rep(c("C", "T"), 12),
                 time = rep(c(1, 2, 4), 8),
                 value = rnorm(24))

ggplot(df, aes(time, value, col = type)) +
  geom_line() +
  facet_wrap(~ gene)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...