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()