[解決済み] 選択した列のテーブルのNA値を置換する方法
2023-02-28 09:49:43
質問
NA値の置き換えに関する投稿が多くあります。私は、次の表・枠のNAを次のように置き換えることができると認識しています。
x[is.na(x)]<-0
しかし、特定のカラムだけに制限したい場合はどうすればいいのでしょうか?例を挙げてみよう。
まず、データセットを用意しましょう。
set.seed(1234)
x <- data.frame(a=sample(c(1,2,NA), 10, replace=T),
b=sample(c(1,2,NA), 10, replace=T),
c=sample(c(1:5,NA), 10, replace=T))
どちらが与えるか。
a b c
1 1 NA 2
2 2 2 2
3 2 1 1
4 2 NA 1
5 NA 1 2
6 2 NA 5
7 1 1 4
8 1 1 NA
9 2 1 5
10 2 1 1
OK、それで私はカラム 'a' と 'b' にのみ置換を制限したいのです。私の試みは
x[is.na(x), 1:2]<-0
とする。
x[is.na(x[1:2])]<-0
というのはうまくいきません。
私のdata.tableの試みは、ここで
y<-data.table(x)
は明らかにうまくいきませんでした。
y[is.na(y[,list(a,b)]), ]
is.naの引数の中にカラムを渡したいのですが、それは明らかにうまくいかないでしょう。
私はこれをdata.frameとdata.tableで行いたいと思います。私の最終目標は、論理変数ではないので、'c' をそのままにして、'a' と 'b' で 1:2 から 0:1 に再コード化することです。カラムがたくさんあるので、1つ1つやりたくありません。そして、私はこれを行う方法を知りたいだけです。
何かいい方法はないでしょうか?
どのように解決するのですか?
できます。
x[, 1:2][is.na(x[, 1:2])] <- 0
または、より良い(IMHO)、変数名を使用してください。
x[c("a", "b")][is.na(x[c("a", "b")])] <- 0
どちらの場合も
1:2
または
c("a", "b")
は、あらかじめ定義されたベクトルに置き換えることができます。
関連
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました
-
[解決済み] 列の値に基づいてDataFrameから行を選択するにはどうすればよいですか?
-
[解決済み] Vimで文字を改行で置き換える方法
-
[解決済み] R dataframeでNAの値をゼロに置き換えるには?
-
[解決済み] リストをデータフレームに変換する
-
[解決済み] 不足しているパッケージをチェックし、インストールするためのエレガントな方法?
-
[解決済み] R および RStudio のコンソールをクリアする関数
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】Regexで一部のグループのみを置換する。
-
[解決済み】R関数でオプション引数を指定する "正しい "方法
最新
-
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: エラー: $ 演算子は原子ベクトルに対して無効です。
-
8.2 カマグラ(No.31〜No.40)
-
[解決済み] Rで文字列から文字を削除する
-
[解決済み] 空のdata.frameを作成する
-
[解決済み] 非常に大きなテーブルをデータフレームとして高速に読み込む
-
[解決済み] Rでロードされているパッケージのバージョンを調べるには?
-
[解決済み] Rでtrycatchの書き方
-
[解決済み] データフレームのリストを行単位で1つのデータフレームに結合する
-
[解決済み] ベクトル中のある要素のインデックスを求めるR関数はありますか?
-
[解決済み] FUN内のlapplyインデックス名へのアクセス