我是一名研究化學家,進行了一次測量,我記錄了'信號強度'與'質荷比(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中執行嗎?