在 R 中,当有一个冗余命名的向量时,为什么不能使用选择运算符检索命名向量中的所有元素?
v <- c(1,2,3,4,5)
names(v) <- c("a","b","c","c","a")
v["c"] ## Returns only 3, not c(3,4)
看起来 R 假设向量名称是唯一的,并且仅检索名称与选择运算符中的参数匹配的向量中的第一个元素。
这是某种优化吗?如果我们能够在一个向量中选择具有相同名称属性的多个元素,这不是有益的吗?是否要保证使用索引运算符时返回的元素数与索引向量中的元素数相同?