Проблемы с импортом данных R из-за форматирования - PullRequest
0 голосов
/ 20 ноября 2019

Я пытаюсь импортировать данные TXT в R;однако, из-за уникального форматирования файла TXT, я не уверен, как это сделать. Я определенно чувствую, что проблема связана с тем, что текстовый файл был отформатирован для выравнивания столбцов с именами столбцов;однако, поскольку это текстовый файл, это было сделано с различными пробелами. Например:

Gene           Chromosomal     Swiss-Prot             MIM    Description
name           position        AC        Entry name   code
______________ _______________ ______________________ ______ ______________________
A3GALT2       1p35.1          U3KPV4     A3LT2_HUMAN        Alpha-1,3-galactosyltransferase 2 (EC 2.4.1.87) (Isoglobotriaosylceramide synthase) (iGb3 synthase) (iGb3S) [A3GALT2P] [IGBS3S]
AADACL3       1p36.21         Q5VUY0     ADCL3_HUMAN        Arylacetamide deacetylase-like 3 (EC 3.1.1.-)
AADACL4       1p36.21         Q5VUY2     ADCL4_HUMAN        Arylacetamide deacetylase-like 4 (EC 3.1.1.-)
ABCA4         1p21-p22.1      P78363     ABCA4_HUMAN 601691 Retinal-specific phospholipid-transporting ATPase ABCA4 (EC 7.6.2.1) (ATP-binding cassette sub-family A member 4) (RIM ABC transporter) (RIM protein) (RmP) (Retinal-specific ATP-binding cassette transporter) (Stargardt disease protein) [ABCR]
ABCB10        1q42            Q9NRK6     ABCBA_HUMAN 605454 ATP-binding cassette sub-family B member 10, mitochondrial precursor (ATP-binding cassette transporter 

Из-за этого я не смог импортировать мои данные вообще. Поскольку текст был сделан для выравнивания текста с пробелами, количество пробелов не является одинаковым вообще.

Это ссылка на таблицу данных, которую я использую: https://www.uniprot.org/docs/humchr01.txt

1 Ответ

0 голосов
/ 20 ноября 2019

Каждое поле имеет фиксированную ширину. Поэтому вы можете использовать функцию read.fwf для чтения файла.

Следующий код читает входной файл (при условии, что файл содержит только строки без заголовков)

f = read.fwf('input.txt', c(14,16,11,12,7,250), strip.white=T)
colnames(f) = c('Gene name', 'Chromosomal position', 'Swiss-Prot AC',
                'Swiss-Prot Entry name', 'MIM code', 'Description')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...