【问题标题】:Extract all values from a vector of named numerics with the same name in R从R中具有相同名称的命名数字向量中提取所有值
【发布时间】:2021-08-14 18:08:59
【问题描述】:

我第一次尝试在 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 给我命名为 var_a 的命名数字的 1/5 吗?

简短示例:

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 个数字。

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

【问题讨论】:

    标签: r vector numeric named


    【解决方案1】:

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

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

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 2018-04-05
    相关资源
    最近更新 更多