行を同じ列1の値を持つ列に変換

行を同じ列1の値を持つ列に変換

カンマ区切りのファイルがあります。

ID,Disease,Status
Sample1,Disease1,High
Sample1,Disease2,Low
Sample1,Disease3,Medium
Sample2,Disease1,Low
Sample2,Disease2,Medium
Sample2,Disease3,Low

最初のフィールドはID番号、2番目のフィールドは病気の名前、3番目の列はその病気に対する個人の危険状態です。すべての病気を行に、IDを列に入力する必要があります。各IDには行を割り当てる必要があり、すべての病気のリスク状態は列に記載する必要があります。したがって、出力は次のようになります。

期待される出力ファイル:

ID,Disease1,Disease2,Disease3
Sample1,High,Low,Medium
Sample2,Low,Medium,Low

ベストアンサー1

apt install rs
echo -e "1,2\n3,4" | rs -c',' -C',' -T
1,3,
2,4,

各言語でデータを変換する方法はさまざまで、いくつかのプロのツールもあります。

https://stackoverflow.com/questions/1729824/an-efficient-way-to-transpose-a-file-in-bash

おすすめ記事