R: boxplot для столбцов различной длины из файла tsv

Я пытаюсь сгенерировать разные коробочные графики для столбцов разной длины из файла tsv.

Формат ввода:

exons_1    exons_2    exons_3
0          2          2
1          1          2
2          3          1
0          0          
2          2
1
4

Тогда мой сценарий:

input_file = read.table(input.tsv, header=TRUE, fill=TRUE)

boxplot((input_file), ylab="Signal", xlab="Exon-Sets", las=2, names = c("exons_1", "exons_2", "exonset_3"))

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

Если я изменю сценарий на fill = FALSE Я получаю сообщение об ошибке, как это:

Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  :
line 4 did not have 3 elements
Calls: read.table -> scan
Execution halted

Кто-нибудь может помочь мне построить все значения для всех столбцов на разных боксплотах?

1 ответ

Возможно, вы можете изменить данные после их считывания, чтобы один столбец содержал записанные значения сигналов, а другой - набор экзонов, к которому он принадлежит. Тогда вы могли бы легко построить это.


library(tidyr)
library(ggplot2)
read.table(text = "exons_1    exons_2    exons_3
0          2          2
1          1          2
2          3          1
0          0          
2          2
1
4", fill = T, header = T) %>%
  gather(exon_set, signal) %>%
  drop_na() %>% 
  ggplot(aes(exon_set, signal)) + 
  geom_boxplot()

Другие вопросы по тегам