SSV / CSV操作:比率の計算

SSV / CSV操作:比率の計算

datamash私は経験豊富なユーザーであることを知っていますawk。 ratioを探していますawk。以下があるとしましょう。

// data_file
foo bar biz
10  100 1000
11  150 990
10  95  1010
9   99  950
// usage goal, in pseudo code
cat data_file | <tool> --ratio foo,bar --ratio foo,biz --ratio bar,biz
// desired output
foo bar biz foo_bar foo_biz bar_biz
10  100 1000 0.1    0.01    0.1  
11  150 990  0.073  0.011   0.1515
10  95  1010 0.105  0.0099  0.094
9   99  950  0.09   0.0095  0.1042

このインターフェースを得るために、C++で簡単なものを作りましょう。

それまでUnixには簡単な解決策がありますか?

ベストアンサー1

ミラーの使用(https://github.com/johnkerl/miller)と実行

mlr --pprint put '$foo_bar=$foo/$bar;$foo_biz=$foo/$biz;$bar_biz=$bar/$biz' input >output

あなたは

foo bar biz  foo_bar  foo_biz  bar_biz
10  100 1000 0.100000 0.010000 0.100000
11  150 990  0.073333 0.011111 0.151515
10  95  1010 0.105263 0.009901 0.094059
9   99  950  0.090909 0.009474 0.104211

おすすめ記事