[解決済み] dplyrを用いたdata.frameの完全症例フィルタ(症例単位での削除)
2022-09-13 14:30:25
質問
dplyrを使用して、完全なケースのdata.frameをフィルタリングすることは可能でしょうか?
complete.cases
をすべての変数のリストで動作させることは、もちろん可能です。しかし、それは、a) 多くの変数があるときは冗長で、b) 変数名がわからないときは不可能です(例えば、任意のdata.frameを処理する関数の中で)。
library(dplyr)
df = data.frame(
x1 = c(1,2,3,NA),
x2 = c(1,2,NA,5)
)
df %.%
filter(complete.cases(x1,x2))
どのように解決するのですか?
これを試してみてください。
df %>% na.omit
またはこれ
df %>% filter(complete.cases(.))
またはこれ
library(tidyr)
df %>% drop_na
ある変数の欠落に基づいてフィルタリングしたい場合は、条件式を使用します。
df %>% filter(!is.na(x1))
または
df %>% drop_na(x1)
その他の回答では、上記の解答のうち
na.omit
はより遅いですが、これは
na.action
属性で省略された行のインデックスを返すことです。
str(df %>% na.omit)
## 'data.frame': 2 obs. of 2 variables:
## $ x1: num 1 2
## $ x2: num 1 2
## - attr(*, "na.action")= 'omit' Named int 3 4
## ..- attr(*, "names")= chr "3" "4"
追加されました。 dplyrの最新版とコメントを反映させるために更新しました。
追加されました。 Tidyrの最新版とコメントを反映させるために更新しました。
関連
-
8.2 カマグラ(No.31〜No.40)
-
ggplot2 からグリッドと背景色を削除する。
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました
-
Rの警告 "条件の長さが1より大きいので、最初の要素しか使えない "に対する解決策
-
[解決済み] Rの二乗偏差の総和の算出
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] データフレーム列の名前によるドロップ
-
[解決済み] Rで2つのグラフを同じプロットで表示する
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
-
[解決済み] [Solved] data.frameのカラムをベクトルに変換する?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
RStudio の "plot.new() : figure margins too large" 問題を解決する。
-
R言語です。「接続を開くことができません」解決策
-
R: エラー: $ 演算子は原子ベクトルに対して無効です。
-
8.2 カマグラ(No.31〜No.40)
-
ggplot2 からグリッドと背景色を削除する。
-
[解決済み] ネストされた plot_grid を同じサイズに拡大縮小するには?
-
[解決済み] データフレームを結合(マージ)する方法(内側、外側、左側、右側)
-
[解決済み] パッケージ 'xxx' は利用できません (for R version x.y.z) 」という警告にどのように対処したらよいですか?
-
[解決済み] data.frameの1つの列の名前を変更する方法は?
-
[解決済み] Rでオブジェクト(変数)が定義されているかどうかを確認するには?