t_kahi’s blog

KNIMEやCellProfiler、創薬に関する記事と,日々のメモです

【KNIME】複数行の内容をまとめてカラム名へ変更する

アッセイデータをKNIMEで編集するとき,複数行のデータを一つにまとめてカラムの名前に変更したいと思ったのですが,すんなりできなかったので,メモ代わりにまとめておきます.

やりたいことは以下のような処理です. 数値データの解析がしたいので,文字列はまとめてカラムの名前として表示したいと考えました.

f:id:t_kahi:20180924174646p:plain

以下のフローで目的のアウトプットを得ることができました(最良かどうかはわからないです).

f:id:t_kahi:20180924175153p:plain

簡単にまとめておきます.
Row splitterでRow0~Row3を分ける (Include rows by number)

GroupByでconcatenateで各wellをまとめる.
aggregationの変更は右クリックでまとめて選択できます.
後でmergeをするためにcolumn nameは「keep original names」にしておきます.

f:id:t_kahi:20180924175743p:plain

concatenateでつなげると,以下のようになりました.
f:id:t_kahi:20180924180245p:plain

あとは1行目をカラム名に変更すれば終わり…のはずだったのですが,これをできるNodeが無かった(探せなかった?)ので,調べていたら同じことを聞いている方がいたのでこれを参考にしました.

How can I use the first row of a node output as the column header row? - KNIME Analytics Platform - KNIME Community Forum

1行目をカラム名に変更するのは,Transpose ⇒ RowID ⇒ Transpose でできるみたいです.

Transposeで行と列を交換して,最初の列をRowIDとして,もう一度Transposeをすると以下のようになりました.

f:id:t_kahi:20180924181025p:plain

この操作に時間取られるともったいないので,覚えておきたいですね…