假设我有一个像这样的命名字符向量:
> class(colors)
[1] "character"
> colors
9074 8778 8577 7148 <NA> 3310 0050169 8893 50156 9008 9778
"#FF0000FF" "#FF7600FF" "#FFEB00FF" "#9DFF00FF" "#27FF00FF" "#00FF4EFF" "#00FFC4FF" "#00C4FFFF" "#004EFFFF" "#2700FFFF" "#9D00FFFF"
5295 0080162
"#FF00EBFF" "#FF0076FF"
其中名称是ID,值是颜色。如果我给colors
向量一个ID,我会得到相应的颜色。
> colors["9074"]
9074
"#FF0000FF"
但是对于名称为<NA>
的一种情况,我不知道如何返回相应的颜色。简单地提供NA
不起作用
> colors[NA]
<NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
NA NA NA NA NA NA NA NA NA NA NA NA NA
> colors["NA"]
<NA>
NA
有什么建议吗?
答案 0 :(得分:1)
由于colors
已经是base R
函数的名称,我将创建一个向量x
。
x <- 1:5
names(x) <- c("A", "B", NA, "D", "E")
x[is.na(names(x))]
#<NA>
# 3
答案 1 :(得分:0)
这应该可以,但如果多个颜色没有名称,则会返回多个值。
colors[which(is.na(names(colors)))]