[英]Warning message:invalid factor level, NA generated
當我嘗試為一列中的某些值分配新的字符值時出現此錯誤。
這很好用:
merge_output$extra_dod[merge_output$extra_dod == 'Refugees camps in forestreserve.'] <-'Refugees'
但這不是:
merge_output$extra_dod[merge_output$extra_dod=='Air Strip'] <-'strip'
它返回此錯誤消息:
Warning message:
In `[<-.factor`(`*tmp*`, merge_output$extra_dod == "Lime", value = c(5L, :
invalid factor level, NA generated
我不確定為什么可以替換某些值,但不能替換其他值。
這是一個以相同方式失敗的簡化示例:
f <- factor(c("a","b","c","d"))
f[f=="d"] <- "e"
警告消息:在
[<-.factor
(*tmp*
,f ==“ d”,value =“ e”)中:無效的因子級別,生成了NA
如果您碰巧嘗試用一個已經存在的因子水平進行替換,那么它可以工作:
f[f=="c"] <- "b"
其他一些常規選項:
read.csv
/ read.table
使用stringsAsFactors=FALSE
類的東西),將變量轉換回字符向量。 car::recode
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.