У меня есть ряд фреймов данных в моей среде R, которые я прочитал следующим образом:
x <- list.files(pattern="nuc_occupancy_region");
for(i in seq_along(x)){
print(x[i])
assign(paste(x[i]), read.table(x[i], sep='\t', header=T, fill=T))
}
ESC=ls()[grep(ls(), pattern='ESC_nuc')]
MEF=ls()[grep(ls(), pattern='MEF_nuc')]
В списке файлов MEF часто отсутствуют данные: например.
из командной строки
head MEF_nuc_occupancy_regionCybb9049012-9053217chrX.txt
9049012 26
9049013
9049014 29
9049015
9049016 26
etc.
Приведенный выше файл не является проблемой, так как отсутствующие значения будут считаны как NA, и я смогу разобраться с этим позже.
Однако в других отсутствует второе значение первой строки....
117755994
117755995
117755996
117755997 6
117755998 6
117755999 6
поэтому, несмотря на то, что каждый файл имеет 2 столбца, отсутствие второго значения в первой строке некоторых из них приводит к тому, что они распознаются как файл с одним столбцом:
read.table(example.txt, sep='\t', header=T, fill=T)
117755994
117755995
117755996
117755997
6
117755998
6
117755999
6
Есть ли способ избежать этого, так как мне нужно, чтобы все кадры данных были в 2D? Спасибо
sep = '\t'
? Когда я запускаюread.table
над текстом во втором блоке кода сheader = FALSE, fill = TRUE
и ничего о разделителе, я получаю желаемый результат. - person ulfelder   schedule 30.04.2017read_fwf
в пакетеreadr
(или tidyverse) - person Andrew Lavers   schedule 30.04.2017