从 R 中具有相同名称的命名数字向量中提取所有值

Extract all values from a vector of named numerics with the same name in R

我第一次尝试在 R 中处理命名数字的向量。向量本身被命名为 p.values。它由以相应变量命名的 p 值组成。通过模拟,我获得了大量的 p 值,这些值总是被命名为它们对应的五个变量之一。然而,我只对一个变量的 p 值感兴趣,并尝试使用 p.values[[["var_a"]] 提取它们,但这只给出了 var_a 的 p 值的最后一个条目。 p.values$var_a 无效并且 as.numeric(p.values) 或 unname(p.values) 显然只给出我所有没有名字的值。知道如何让 R 给我 1/5 的命名数字 var_a?

简短示例:

p.values <- as.numeric(c(rep(1:5, each = 5)))
names(p.values) <- rep(letters[1:5], 5)
str(p.values)
   Named num [1:25] 1 1 1 1 1 2 2 2 2 2 ...
 - attr(*, "names")= chr [1:25] "a" "b" "c" "d" ...

我想让 R 显示所有名为“a”的 5 个数字。

感谢阅读我的第一个 post,我希望一些更有经验的 R 用户知道如何处理命名数字,并能帮助我解决这个问题。

您可以使用 [names(p.values) == "a"p.values 进行子集显示所有名为 a.

的值
p.values[names(p.values) == "a"]
#a a a a a 
#1 2 3 4 5