https://github.com/matloff/TidyverseSkeptic
https://github.com/matloff/TidyverseSkeptic/blob/master/READMEFull.md
を読ませてもらいました。
全く同感ですね。
我々が,コンピュータを使って統計解析するとき,例えば,(十分複雑な条件づきで)
一番簡単には,ファイルの何列目にある変数を従属変数にして,何列目....を独立変数にして重回帰分析して!
という。
そもそも,どこにあるファイル?
ファイルにあるデータ全部使うの?
それぞれの変数は,数値型なの?
欠損値はあるの?
あったら,どうすればいいの?
なんてレベルの話ではなくて,
え,必要かも知れない相関係数行列ってどうやって求めるの?
まずね,それぞれの変数についてね,
データの個数を求めて,
データの合計値を求めて,
割れば,平均値になるでしょ?
でね,もとの変数から平均値を引いて,二乗してね,和を求めてね,それをデータの個数で割れば,ぶんさんになるでしょ,
そんなことをね,変数の組み合わせについておこなって,分散・共分散行列を求める訳よ。
そしてね,正規方程式の解を求めると,それが回帰係数になるわけよ。
予測値はその回帰係数から計算できるから,
予測誤差を求めて,ああだこうだすれば,決定係数も求まる訳よ。
というような,各段階で「最適な関数」をパイプでつないで最終解を得る。
というのが dplyr なんかな?
これを全て,最適な関数でつなげるのは,ニンゲンのやることじゃないよね。
ニンゲンは「○○という変数を予測するにはどうすればよいか?」だけでいいんじゃない。
例えば,上に上げた仕事をする最適な関数が以下のような関数の適切な組み合わせで行われるとする。
有効なサンプルの集合を作る
変数のサンプルの個数を数える
変数の和を求める
変数の平均値を求める
変数の不偏分散を求める
変数の標準偏差を求める
二変数の共変動を求める
行列とベクトルの積和を求める
行列積を求める
行列の逆行列を求める
連立方程式の解を求める
dplyr はこれらの関数の選択と適用順序を明示的に示すということに相当するとのだと思う。
そんなの,ニンゲンのやることじゃないよね。
※コメント投稿者のブログIDはブログ作成者のみに通知されます