我是一名研究化学家,进行了一次测量,我记录了'信号强度'与'质荷比(m/z)'。我通过改变一个特定的参数(碰撞能量)重复了这个实验15x。因此,我有15个CSV文件,并希望在相同范围的m/z值和相同的间隔值内对齐/连接它们。由于仪器阈值规则,某些m/z值未被记录,因此我有不能简单地导出到excel并复制/粘贴的文件。的数据看起来有点像的表下面贴如何导入多个CSV文件然后创建主表?
Dataset 1: x | y Dataset 2: x | y
--------- ---------
0.0 5 0.0 2
0.5 3 0.5 6
2.0 7 1.0 9
3.0 1 2.5 1
3.0 4
用matlab我开始与此代码:
%% Create a table for the set m/z range with an interval of 0.1 Da
mzrange = 50:0.1:620;
mzrange = mzrange';
mzrange = array2table(mzrange,'VariableNames',{'XThompsons'});
然后我手动导入1 X/Y CSV(Xtitle = XThompson,Ytitle = YCounts)以与指定的m/z范围对齐。
%% Join/merge the two tables using a common Key variable 'XThompson' (m/z value)
mzspectrum = outerjoin(mzrange,ReserpineCE00,'MergeKeys',true);
% Replace all NaN values with zero
mzspectrum.YCounts(isnan(mzspectrum.YCounts)) = 0;
在这一点上我坚持,因为重复这个过程,一个单独的文件将覆盖我YCounts列。的YCounts列并不重要我为我以后可以改变它的标题,但是我想有表继续这样的:
XThompson | YCounts_1 | YCounts_2 | YCounts_3 | etc...
--------------------------------------------------------
我怎么能从事这项运动在Matlab所以,这是至少半自动化?之前我曾发布过描述类似的情况,但事实证明它不能实现我所需要的。我必须承认,我的思想不是程序员,所以我一直在努力解决这个问题。
PS-这个问题最好在Matlab或Python中执行吗?