Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
560 views
in Technique[技术] by (71.8m points)

r - Remove names from named vector and get only the values

I have a vector like below

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

a b c
1 2 3

I want to flatten this vector to get only 1, 2, 3.

I tried unlist(tmp) but it still gives me the same result.

How to achieve that efficiently?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You just want to remove the names attribute from tmp. There are a number of ways to do that.

You can unname it.

unname(tmp)
# [1] 1 2 3

Or use a very common method for removing names, by setting them to NULL.

names(tmp) <- NULL

Or strip the attributes with as.vector.

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

Or re-concatenate it without the names.

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

Or use setNames.

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...