私はStataを初めて使っていますが、後で利便性を考えてStataコードをRに変換することについて考える必要があります。Stata marksampleをR言語に変換するには?
StataのコードのワンピースはStataの中にヘルプ(marksample)からmarksample touse
quietly: keep if `touse'
に従っている、私はそれがあるときmarksampleは、データセットの各列にインデックスを与え、1として各行をマークするために起こっていると考え
修飾されたもの、そうでないものは0です。いくつかの規則が適用されます。
1.マーカー変数は、重みが0の観測値では0に設定されます(しかし、オプションzeroweightを参照)。 2.適切なエラーメッセージが表示され、重みが無効な場合(一部の観測では0より小さい場合や、頻度ウェイトが0以外の場合など)、すべてが停止します。 3.マーカー変数は、expが満たされない観測値では0に設定されます。 4.マーカー変数は、範囲外の観測値では0に設定されます。 5. varlistの数値変数のいずれかに数値欠損値が含まれている場合、marker変数は0に設定されます。 6. varlistの変数のいずれかが文字列である場合、marker変数はすべての観測値で0に設定されます。オプションstrokを参照してください。 7.マーカー変数は残りの観測値で1に設定されます。 名前を使用するのはルールではなく、規則ですが、プログラム間の一貫性を保つために推奨されます。
Rの中にこのコード部分を簡単に変換する(パッケージまたは関数)があるかどうかわかりますか?あるいは、Rでルールを自分で手動で作成する必要がありますか?
のですか?データテーブルのすべての変数、または私が興味を持っている列だけを考慮する必要がありますか? –
1.はい。 2a。必要な列だけを使用する方が効率的です。ただし、Stataの場合と同様に、デフォルトではすべての列が保持されます。 2b。しかし、私の答えは 'marksample'の全てを模倣するものではありません。元の質問に基づいて、私はそれを「if」のみを解析すると解釈したと思います。指摘したように、 'marksample'はvarlistと重みも解析します。これらの変数は、Rも同様にコーディングしていない限り、Rで明白です。 – Mauricio
ありがとうございます!私が重み変数を持つことができれば、あなたは 'marksample'にもっと近い結果を得ることができるのでしょうか? –