假设我在R中有这个命名向量:
foo=vector()
foo['a']=1
foo['b']=2
foo['c']=3
我如何最干净地制作另一个仅带有'a'和'c'元素的命名向量?
如果这是一个带有“name”列和一列“value”的数据框,我可以使用
subset(df, name %in% c('a', 'b'))
这很好,因为子集可以评估任何布尔表达式,所以它非常灵活。
答案 0 :(得分:8)
这个怎么样:
foo[c('a','b')]
答案 1 :(得分:3)
作为旁注,避免在R中“增长”结构。你的例子也可以这样写:
foo = c(a = 1, b = 2, c = 3)
要像安德烈的答案那样做子集:
foo[c('a','b')]