从命名向量中删除名称并仅获取值
Remove names from named vector and get only the values
我有一个像下面这样的向量
tmp <- c(a=1, b=2, c=3)
a b c
1 2 3
我想展平这个向量只得到 1, 2, 3
.
我试过 unlist(tmp)
但它仍然给我同样的结果。
如何有效地实现这一目标?
您只想从 tmp
中删除 names
属性。有多种方法可以做到这一点。
你可以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
上面没有涵盖的用例:
tmp <- c(1,2,3)
names(tmp) <- c("a","b","c")
在这种情况下,您需要同时使用:
unlist(unname(tmp))
我有一个像下面这样的向量
tmp <- c(a=1, b=2, c=3)
a b c
1 2 3
我想展平这个向量只得到 1, 2, 3
.
我试过 unlist(tmp)
但它仍然给我同样的结果。
如何有效地实现这一目标?
您只想从 tmp
中删除 names
属性。有多种方法可以做到这一点。
你可以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
上面没有涵盖的用例:
tmp <- c(1,2,3)
names(tmp) <- c("a","b","c")
在这种情况下,您需要同时使用:
unlist(unname(tmp))