R 如果其中一个名称为<;NA>; 矢量

R 如果其中一个名称为<;NA>; 矢量,r,R,使用下面的代码,我正在生成我的表对象: vec <- c(rep(1, 10), rep(5, 5), 4, 3, rep(NA, 3)) table(vec, useNA = "always") -> res 我选择所需的值: >> res["3"] 3 1 >> res["5"] 5 5 问题 这不适用于最后一列: <NA> NA >> r

使用下面的代码,我正在生成我的
对象:

vec <- c(rep(1, 10),
         rep(5, 5),
         4,
         3,
         rep(NA, 3))

table(vec, useNA = "always") -> res
我选择所需的值:

>> res["3"]
3 
1 
>> res["5"]
5 
5 
问题 这不适用于最后一列:

<NA> 
  NA 
>> res["NA"]
<NA> 
  NA 
>> res[`NA`]
Error in NextMethod() : object 'NA' not found

NA
>>res[“NA”]
NA
>>res[`NA`]
NextMethod()中出错:未找到对象“NA”
旁注 我可以使用列位置获得正确的结果:

>> res[length(res)]
<NA> 
   3 
>res[长度(res)]
3.
但我对此不感兴趣,我想按名称调用
列,如何操作?

名称不可用(NA)。试着给它取个名字,也许是“NA”


名称中的
NA
告诉您它没有名称,因此不能被它选择。如果愿意,您可以给它起个名字,例如字符串
“NA”
。谢谢;这很有趣,因为使用useNA的目的意味着将NAs添加为一个类别。可能更容易,我也可以通过检查哪一个并没有名字来获取列的索引。
>> res[length(res)]
<NA> 
   3 
names(res)[is.na(names(res))]<-"NA"
> res[["NA"]]
[1] 3
res[is.na(names(res))]