如何在R中“命名”一个命名向量?

时间:2013-12-27 04:17:13

标签: r

假设我在R中有这个命名向量:

foo=vector()
foo['a']=1
foo['b']=2
foo['c']=3

我如何最干净地制作另一个仅带有'a'和'c'元素的命名向量?

如果这是一个带有“name”列和一列“value”的数据框,我可以使用

subset(df, name %in% c('a', 'b'))

这很好,因为子集可以评估任何布尔表达式,所以它非常灵活。

2 个答案:

答案 0 :(得分:8)

这个怎么样:

foo[c('a','b')]

答案 1 :(得分:3)

作为旁注,避免在R中“增长”结构。你的例子也可以这样写:

foo = c(a = 1, b = 2, c = 3)

要像安德烈的答案那样做子集:

foo[c('a','b')]