如何在 MATLAB 中获取这个已删除的 table 中的第二列?
How to take 2nd column in this deliminated table in MATLAB?
我认为 table 是制表符分隔的,所以 TSV 但我的以下代码从未完成,因为行 ecg = tdfread(filename, '\t');
建议我分隔符 \t
不正确,因为文件大小,大约350MB,应该没问题。
function ecg = getECG(id, channel, timeStartIndex, timeEndIndex)
filename = sprintf('/home/masi/Documents/NSRDB/%d.txt', id);
ecg = tdfread(filename,'\t');
ecg = ecg(timeStartIndex:timeEndIndex, channel);
end
关于 AD 单位的数据样本 1 示例
masi@masiAsus:~/Documents$ head NSRDB/16265.txt
0 -33 -65
1 -31 -65
2 -39 -61
3 -41 -61
4 -37 -59
5 -31 -53
6 -27 -47
7 -19 -37
8 -15 -27
9 -13 -19
例如调用 getECG(16265, 1, 1, 4)
通道 1(第 1 列)、开始时间 1 和结束时间 4 的案例。
这可以通过以下 Shai 的命令解决,但它因第二个数据样本
而失败
ecg = dlmread(filename, ' ', 2, 0); % read table with empty columns
由于AD单元在数据处理中失败,所以第二个带有物理单元的数据集
NSRDB/16265.txt
Elapsed time ECG1 ECG2
(seconds) (mV) (mV)
300.000 -0.005 -0.065
300.008 -0.015 -0.055
300.016 0.005 -0.055
300.023 0.005 -0.075
图1 我目前的方法 ecg = dlmread(filename, ' ', 2, 0);
导致 13 列
测试 Shai 的 第二个数据集
%
ecg = dlmread(filename, ' ', 2, 0); % read table with empty columns
ecg = ecg(:,find(any(ecg,1))); % keep only non-empty columns
图2 现在有六列,其中第二个数据列失败,但第一个空列仍然存在
数据:WFDB MIT-BIH NSRDB
考虑使用 dlmread
而不是 tdfread
:一些 '\t'
字符可能是空格...
作为第二步,您可以丢弃空列
ecg = dlmread(filename, ' ', 2, 0); % read table with empty columns
ecg = ecg(:,find(any(ecg,1))); % keep only non-empty columns
我认为 table 是制表符分隔的,所以 TSV 但我的以下代码从未完成,因为行 ecg = tdfread(filename, '\t');
建议我分隔符 \t
不正确,因为文件大小,大约350MB,应该没问题。
function ecg = getECG(id, channel, timeStartIndex, timeEndIndex)
filename = sprintf('/home/masi/Documents/NSRDB/%d.txt', id);
ecg = tdfread(filename,'\t');
ecg = ecg(timeStartIndex:timeEndIndex, channel);
end
关于 AD 单位的数据样本 1 示例
masi@masiAsus:~/Documents$ head NSRDB/16265.txt
0 -33 -65
1 -31 -65
2 -39 -61
3 -41 -61
4 -37 -59
5 -31 -53
6 -27 -47
7 -19 -37
8 -15 -27
9 -13 -19
例如调用 getECG(16265, 1, 1, 4)
通道 1(第 1 列)、开始时间 1 和结束时间 4 的案例。
这可以通过以下 Shai 的命令解决,但它因第二个数据样本
ecg = dlmread(filename, ' ', 2, 0); % read table with empty columns
由于AD单元在数据处理中失败,所以第二个带有物理单元的数据集
NSRDB/16265.txt
Elapsed time ECG1 ECG2
(seconds) (mV) (mV)
300.000 -0.005 -0.065
300.008 -0.015 -0.055
300.016 0.005 -0.055
300.023 0.005 -0.075
图1 我目前的方法 ecg = dlmread(filename, ' ', 2, 0);
导致 13 列
测试 Shai 的 第二个数据集
%
ecg = dlmread(filename, ' ', 2, 0); % read table with empty columns
ecg = ecg(:,find(any(ecg,1))); % keep only non-empty columns
图2 现在有六列,其中第二个数据列失败,但第一个空列仍然存在
数据:WFDB MIT-BIH NSRDB
考虑使用 dlmread
而不是 tdfread
:一些 '\t'
字符可能是空格...
作为第二步,您可以丢弃空列
ecg = dlmread(filename, ' ', 2, 0); % read table with empty columns
ecg = ecg(:,find(any(ecg,1))); % keep only non-empty columns