2017-10-05 2 views
0

STATAファイルをRにインポートする際の非常に基本的な質問があり、フォーラムの検索を試みましたが、stataファイルをRと変数にインポートするには、実際の数値ではなく、ラベルを使用してフィルタリングする必要があります

私はDHSは、(AR - HIV検査の結果を)ファイルを持っていると、次のようにそれが唯一の外国パッケージを使用してRにインポートした後、いくつかのフィールドがあります。

AR_HIV_dataset <- read.dta("RWAR71FL.DTA") #HIV test result file 

私の質問には、いくつかのケースをフィルタリングする方法であります変数の値に基づいてdplyrを使用してHIV03。構造体コマンドを使用すると、変数HIV03は「HIV陰性」、「HIV陽性」などと表示されます。

$ hiv03:因子レベル「hiv陰性」、:1 1 1 1 1 1 1 1 1 1 ...

実際に保存されるデータ値は0または1です。ただし、これらの数値はフィルタコマンドで指定する必要があります。

filter(AR_HIV_dataset,hiv03=="hiv negative") 

filter(AR_HIV_dataset, hiv03==0) 

しかし、私はそれを行う場合、これはエラーを返します(実際の値を使用して)これは、必要な場合に返されますが、私は代わりに以下のコマンドを使用できるようにしたいと思います。

代わりに2行目のコードを使用するために変更する必要があることを教えていただけますか?

ご協力いただきありがとうございます。

+0

こんにちは、次のステートメントを示す出力を提供できますか? "...実際のデータ値は0または1 "**。 – ANG

+0

ありがとう、私が解決策かもしれない避難所のパッケージを試してみましょう。 –

+0

大変感謝しています。ありがとうございます。代わりに避難所を使用しましたが、hiv03の列が "hiv negative"、 "hiv ..."などではなく0または1の値を表示するようになりました。私はこの回答に投票するボタンを見つけることができませんか?再びありがとう –

答えて

0

STATAファイルをインポートするhavenパッケージ(http://haven.tidyverse.org/)を使用すると、あなたは両方の与えられたdplyrを使用している場合は特に有用であろうパッケージはtidyverseの一部です。 は、スタータなどの変数がRにインポートされたときにどのように扱われるかを見るときに特に役立ちます。

0

2つの解決策は以下のとおりです。

filter(AR_HIV_dataset, as.numeric(hiv03)==0) 

あるいは、やや立派

filter(AR_HIV_dataset, hiv03 == levels(hiv03)[1]) 
+0

ご返信ありがとうございます。私はそれを試みたが、それはしかし、動作していないようです。 –

+0

ありがとうございます429791、私はこれを試しましたが、うまくいきませんでした。私は自分自身についてよく説明しませんでしたが、今は避難所を使って解決策を見つけました。再度、感謝します。 –

関連する問題