将名称转换为字符串

时间:2015-05-14 20:00:44

标签: r

我遇到了一个元编程任务,似乎必须有一个明显而简单的答案,但我找不到。

我在()包含了一堆名字:

(foo, bar, buzz, zap)

我想快速将这些名称转换为字符向量:

("foo", "bar", "buzz", "zap")

我能想到的最快速度如下:

as.character(quote(c(foo, bar, buzz, zap)))[-1]
# "foo"  "bar"  "buzz" "zap" 

我必须想象那里有一个更清洁的解决方案。

修改

可能重复,只是标题非常不同,所以很难发现: Does R have quote-like operators like Perl's qw()?

2 个答案:

答案 0 :(得分:0)

一个。选项1

 k<-"(foo, bar, buzz, zap)"
    strsplit(strsplit(k,"\\(|\\)")[[1]][2],", ")[[1]]
    [1] "foo"  "bar"  "buzz" "zap" 

湾备选方案2

library(stringr)
str_extract_all(k,"[aA-zZ]+")[[1]] #assuming that it only contains letters
[1] "foo"  "bar"  "buzz" "zap"

答案 1 :(得分:0)

strsplit("foo, bar, buzz, zap",',')[[1]]