次のような情報を含むファイルがあります。
id allele1 allele2
1 A A
2 T A
3 A A
. ...
. ...
. ...
ファイルを 3 つのフィールドを含む構造体配列に解析したいと思います(id, allele1, allele2)
。id は 1 から n までのすべての数字、allele1 は文字の最初の列、allele2 は 2 番目の列です。
しかし、これを行う方法を理解するのに苦労しています。
将来的には、あなたが試したことを示すのが最善でしょう。ただし、これで開始できるはずです。
fid = fopen('input.txt','r');
%header line
line = fgetl(fid);
header = regexpi(line,'\W+','split');
ID=1;
%read first line
line = fgetl(fid);
while ischar(line)
l = regexpi(line,'\W+','split');
for i=1:numel(l)
data(ID).(header{i}) = l(i);
end
ID = ID+1;
line = fgetl(fid);
end
fclose(fid);
その結果:
>> data
data =
1x4 struct array with fields:
id
allele1
allele2
>> data(1)
ans =
id: {'1'}
allele1: {'A'}
allele2: {'A'}
>> data(2)
ans =
id: {'2'}
allele1: {'T'}
allele2: {'A'}