【发布时间】:2015-07-26 14:18:59
【问题描述】:
我遇到了一个元编程任务,似乎它必须有一个明显而简单的答案,但我找不到。
我有一堆名字包裹在():
(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()?
【问题讨论】:
-
“拥有”是指您使用 Perl 或其他类似方法将
c(foo, bar, buzz, zap)元写入程序主体?如果是这样,您可以使用该工具以更适合 R 的方式编写它,例如不带括号... -
不,我对您在 R 中工作的用例类型感兴趣,并且会使用文本编辑器解决此类问题以节省输入时间。我不是在谈论将参数传递给程序,它有很多可行的解决方案。
-
我不确定我是否理解这个问题,但也许这些是相关的:stackoverflow.com/q/520810/1191259 我一直在使用类似 flodel 的
qw。 -
@Frank 是的,这更像是解决方案的味道。
标签: r