フィールドを含む条件に基づいてデータフレームのサブセットを抽出します
質問
さまざまな場所からの医療調査の結果を含む大きなCSVがあります(場所はデータに存在する要因です)。一部の分析は場所に固有であり、便宜上、それらの場所からのみ行を含むサブフレームを抽出したいと思います。場所が最初のフィールドであるため、CSV行を並べ替えることで実行できますが、他の列でも必要になると確信しているので、Rで実行する方法を学びたいと思います。
つまり、簡単に言うと、データフレームfooが与えられた場合、foo$location = 'there'
があるfooからの行のみを含む別のデータフレームバーを作成するにはどうすればよいですか?
解決
ここに2つの主要なアプローチがあります。私は読みやすさのためにこれを好みます: ジェネラコディセタグプレ
多くの条件文を&
および|
と組み合わせて、複雑なサブセットを作成できることに注意してください。
2つ目は、インデックス作成のアプローチです。Rの行には、数値スライスまたはブールスライスのいずれかでインデックスを付けることができます。foo$location == "there"
は、T
の行と同じ長さのF
値とfoo
値のベクトルを返します。これを行うと、条件がtrueを返す行のみを返すことができます。
ジェネラコディセタグプレ
他のヒント
上記の答えを拡張するだけで、列名を指定するのではなく、列にインデックスを付けることもできます。これは、実行している内容によっては便利です。あなたの場所が最初のフィールドであるとすると、次のようになります。 ジェネラコディセタグプレ
これは、特定の列をループするなど、列の値に対して操作を実行できるため便利です(また、行番号にインデックスを付けることでも同じことができます)。
これは、列の範囲を指定できるため、複数の列に対して何らかの操作を実行する必要がある場合にも役立ちます。 ジェネラコディセタグプレ
または、ご想像のとおり、特定の列。 ジェネラコディセタグプレ