3

空白の欠損値と NA の両方を含む大きなデータ フレームがあります。summary(factor(df$col)) を実行すると、次のような結果が得られます

A  
123  
B  
50000  

90000  
C  
26000
NA's  
12476  

( の後の空白に注意してください50000。)
sum(is.na(df$col))は の数と同じ 12476 ですNAが、空白と s の合計にしたいと思いNAます。 And then
try を実行して空白のレベルを作成しようとしましたが、が生成されたと表示されますが、出力は同じです。因子レベルに基づいて NA を作成する方法を知っている人、または欠落している値を置き換えるためのより良い解決策を知っている人はいますか? 問題は、空白が複数の空白文字であるため、に変換されなかった可能性があると思いますが、それを確認する方法がわかりません。
levels(df$col) <- c("A", "B", "Blank", "C")
df$col <- factor(df$col, exclude="Blank")NANA

4

1 に答える 1

2

これを試して:

df <- data.frame(a=11:18, col=c("C", "", "A", NA, "A", "", "C", NA))
levels(df$col) # ""  "A" "C"
sum(is.na(df$col)) # 2

df$col <- factor(df$col, levels=LETTERS[1:3])
levels(df$col) # "A" "B" "C"
sum(is.na(df$col)) # 4

新しいレベルには空白( "")が含まれていないため、すべての空白はNAになります。

于 2012-04-08T18:38:53.987 に答える