r - 当名称为 NA 时获取命名字符向量元素的值

标签 r vector

假设我有一个像这样的命名字符向量:

> 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 

有什么建议?

最佳答案

colors已经是base R的名字函数,我将创建一个向量 x .

x <- 1:5
names(x) <- c("A", "B", NA, "D", "E")

x[is.na(names(x))]
#<NA> 
#   3

关于r - 当名称为 NA 时获取命名字符向量元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46793682/

相关文章:

R递归获取任意深度嵌套列表的第一个元素的名称

r - 在 Matlab 中实现的两样本 Kolmogorov-Smirnov 检验 (kstest2) 实现不当?

vector - 什么是使用 k 均值的矢量量化?

c++ - 使用 Boost.Serialization 进行序列化

vector - 获取映射向量中最大键的向量

r - 如何将一个大型、复杂、深度嵌套的 JSON 文件扁平化为多个 CSV 文件(链接标识符)

r - 在具有多个观察期的数据框中添加缺失的日期值

r - R zoo中的聚合函数返回错误

C++ 模板函数,可以采用 Eigen::vector 或 std::vector

c++ - 不能使用 push_back 将整数插入 1D/2D vector