[英]Replace unwanted values of factor level with NA
我有一個包含空白缺失值和 NA 的大型數據框。 執行 summary(factor(df$col)) 給我類似的東西
A
123
B
50000
90000
C
26000
NA's
12476
(注意50000
之后的空白。)
和sum(is.na(df$col))
是 12476,與NA
的數量相同,但我希望它是空白和NA
的總和。
我試圖通過做來為空白創建一個級別levels(df$col) <- c("A", "B", "Blank", "C")
然后嘗試df$col <- factor(df$col, exclude="Blank")
它說生成了NA
但我的 output 是相同的。 有誰知道如何根據因子級別創建 NA 或有更好的解決方案來替換缺失值? 我認為問題可能是空格不止一個空白字符,所以它們沒有變成NA
的,但我不知道如何確認這一點。
試試這個:
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。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.