[解決済み] ベクトル内の値に基づいてデータフレームから行を選択する
2023-04-14 11:46:45
質問
このようなデータを持っています。
dt <- structure(list(fct = structure(c(1L, 2L, 3L, 4L, 3L, 4L, 1L, 2L, 3L, 1L, 2L, 3L, 2L, 3L, 4L), .Label = c("a", "b", "c", "d"), class = "factor"), X = c(2L, 4L, 3L, 2L, 5L, 4L, 7L, 2L, 9L, 1L, 4L, 2L, 5L, 4L, 2L)), .Names = c("fct", "X"), class = "data.frame", row.names = c(NA, -15L))
の値に基づいて、このデータフレームから行を選択したいのです。
fct
変数の値に基づいて選択したいのです。例えば、もし私が "a" または "c" のいずれかを含む行を選択したい場合、次のようにすることができます。
dt[dt$fct == 'a' | dt$fct == 'c', ]
となり
1 a 2
3 c 3
5 c 5
7 a 7
9 c 9
10 a 1
12 c 2
14 c 4
は予想通りです。しかし、私の実際のデータはもっと複雑で、実際には次のようなベクトルの値に基づいて行を選択したいのです。
vc <- c('a', 'c')
ということで、試しに
dt[dt$fct == vc, ]
が、もちろんそれはうまくいきません。ベクトルをループして必要な行を取り出し、新しいデータフレームに追加するコードを書くことができることは知っていますが、もっとエレガントな方法があることを期待していました。
では、ベクターの内容に基づいてデータをフィルタリング/サブセットするにはどうすればよいのでしょうか。
vc
?
どのように解決するのですか?
をご覧ください。
?"%in%"
.
dt[dt$fct %in% vc,]
fct X
1 a 2
3 c 3
5 c 5
7 a 7
9 c 9
10 a 1
12 c 2
14 c 4
また
?is.element
:
dt[is.element(dt$fct, vc),]
関連
-
[解決済み] データフレーム列の名前によるドロップ
-
[解決済み] 情報を損なわずに因数を整数値に変換するには?
-
[解決済み] データフレームのリストを行単位で1つのデータフレームに結合する
-
[解決済み] R および RStudio のコンソールをクリアする関数
-
[解決済み] [Solved] data.frameで全てまたは一部のNA(欠損値)を含む行を削除する。
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
-
[解決済み】サブセットされたデータフレーム内の未使用の因子レベルを削除する
-
[解決済み】データフレームから特定の列を抽出する
-
[解決済み] セッションが作成されません。このバージョンのChromeDriverはChromeバージョンにしか対応していません ChromeDriver ChromeでSeleniumを使用した場合の74エラー
-
[解決済み] データフレームの列を$と文字値で動的に選択する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Rでファイルを読み込む際に、そのようなファイルまたはディレクトリが見つかりません。
-
Rでエラー:単項演算子への引数が無効
-
DEG解析で'row.names'に重複した名前を付けられない場合の解決法
-
Rのexpand.grid()コマンド
-
[解決済み] Rの%*%の意味 [重複]について
-
[解決済み] 関数のソースコードを見るにはどうしたらいいですか?
-
[解決済み] ggplot2 を使って 2 つの変数を同じグラフに線でプロットする
-
[解決済み】data.frameのグループごとの平均値【重複】について
-
[解決済み] ggplot2 で個々のファセットにテキストをアノテートする
-
[解決済み] 2つの単語の最初の文字を大文字にします。