[英]Invalid factor level, NA generated when rbind
我需要向 ToothGrowth 添加一個新的行/向量(NA、VC、1.5),我做錯了什么? (NA,“VC”,1.5)不工作..
str(ToothGrowth)
'data.frame': 60 obs. of 3 variables:
$ len : num 4.2 11.5 7.3 5.8 6.4 10 11.2 11.2 5.2 7 ...
$ supp: Factor w/ 2 levels "OJ","VC": 2 2 2 2 2 2 2 2 2 2 ...
$ dose: num 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 ...
vast=rbind(ToothGrowth, c(NA,2,1.5))
Warning message:
In `[<-.factor`(`*tmp*`, ri, value = 2) :
invalid factor level, NA generated
嘗試
vast <- rbind(ToothGrowth, c(NA,"VC",1.5))
或者
vast <- rbind(ToothGrowth, c(NA,levels(ToothGrowth$supp)[2],1.5))
問題是第二個值。 有人可能認為 R 可以 map integer 到因子水平,但事實並非如此。 R 的眾多特性之一。
您是否嘗試將 NA 分配給列 len 或 supp? 我相信您正在嘗試將 NA 分配給 supp。 在這種情況下,值的順序是錯誤的。 這將根據您的需要為您工作:
rbind(ToothGrowth, c(len=2,supp=NA,dose=1.5))
結果:
61 2.0 <NA> 1.5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.