0
データセットをvcd
パッケージから使用して、1つのホットエンコーディングを実行しています。これを行うにはpurrr::dmap_if
とMatrix::model.matrix
を一緒に使用したいと思います。私が走るとき`dmap_if`と 'model.matrix'を合わせて
do.call(model.matrix, list(Improved~.,Arthritis))
うまく動作します。
私はコードの下に使用dmap_if
は1時間のデータセットの列を通過するので、必然的に、このタスクのための適切なツールのように見えるしていませんが、私が言うことができるものから
Arthritis %>% dmap_if(is.factor, do.call(model.matrix, list(Improved~., .)))
'dmap_if'の代わりに' keep'と 'invoke'はどうですか? '関節炎%>%keep(is.factor)%>%invoke(model.matrix、Improved〜、data =。)'です。 'invoke'関数は' do.call'の周りのラッパーで、パイプで使いやすくなっています。 – aosmith
ありがとう、傍受をせずにすべてのレベルを取得する方法を教えてくれますか?変数ごとに1つのレベルを削除しています。 – BigDataScientist
'model.matrix'の式に' -1'を使ってインターセプトを取り除くことができます。しかし、それはまだあなたが望むものではないでしょう。あなたは 'model.matrix'からあなたが望むものを得る方法(あるいはより一般的には、あなたが必要とする結果とその理由についての質問)を得るための新しい質問を具体的に求めるかもしれません。 – aosmith