我需要在牙齿生长中添加一个新的行/向量(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 可以将整数映射到因子水平,但事实并非如此。R的众多特点之一。
您是否正在尝试将 NA 分配给列 len 或 supp?我相信您正在尝试将 NA 分配给 supp。在这种情况下,值的顺序是错误的。这将根据您的需求为您工作:
rbind(ToothGrowth, c(len=2,supp=NA,dose=1.5))
结果:
61 2.0 <NA> 1.5