特定の列をNAに設定しようとしています。例:data.tableのNAに列を最も効果的に設定するにはどうすればよいですか?
DT2 <- data.table(Id = rep(c(1,2,3),each = 20),
x1 = rnorm(20),
x2 = rnorm(20),
x3 = c(NA,NA,rnorm(18)))
DT2[,2] <- NA # sets the second column NA
驚くべきことに、DT2[,c(F,T,F,F)] <- NA
はこのケースでは動作しません、一つはwhich
を使用する必要があります。 しかし、多くの列をインデックスでNA
に設定すると、大きなデータテーブルでは上記の処理が遅くなるようです。より良い方法があるのだろうか、おそらくset
を使っているのだろうか? ヒントありがとう!
「datatable」はあいまいです。どの言語/ DBMSで作業していますか? – Tim
カラム名を使用し、 'DT2 [、x1:= NA]'という参照で代入することが最善の方法です。インデックスを使用すると、間違いが起きやすくなります。誤って間違ったインデックスを使用するとどうなりますか? –
しかし、条件の列を削除するとどうなりますか?だから、基本的に私は削除する列のインデックスを持っています。データフレームは非常に簡単です: 'df [、ind] < - NA'。 – user3032689