从命名向量中删除名称,仅获取值

时间:2018-11-07 16:54:26

标签: r vector flatten

我有一个像下面的向量

tmp <- c(a=1, b=2, c=3)
  

a b c
  1 2 3

我想展平这个向量,只得到1, 2, 3

我尝试了unlist(tmp),但仍然可以得到相同的结果。

如何有效地实现这一目标?

1 个答案:

答案 0 :(得分:9)

您只想从names中删除tmp属性。有很多方法可以做到这一点。

您可以unname

unname(tmp)
# [1] 1 2 3

或者通过将名称设置为NULL来使用一种非常常用的方法来删除名称。

names(tmp) <- NULL

或使用as.vector删除属性。

as.vector(tmp)
# [1] 1 2 3

或重新连接它而不使用名称。

c(tmp, use.names=FALSE)
# [1] 1 2 3

或使用setNames

setNames(tmp, NULL)
# [1] 1 2 3