将向量元素解析为 R 中的字符串

Sci*_*ist 4 string r vector

我知道这很简单,但我找不到直接的解决方案。

如何在不使用引号的情况下告诉解释器将矢量内容读取为字符串?例子:

vector<-c("AAA", "BBB", "CCC", "DDD", "EEE", "FFF", "GGG", "HHH")
vector
[1] "AAA" "BBB" "CCC" "DDD" "EEE" "FFF" "GGG" "HHH"
Run Code Online (Sandbox Code Playgroud)

如果我想用以下方法构建相同的对象怎么办:

vector<-c(AAA, BBB, CCC, DDD, EEE, FFF, GGG, HHH)
Error: object 'AAA' not found
Run Code Online (Sandbox Code Playgroud)

我们有像“to.character”这样的函数吗?这对我有很大帮助。提前致谢,对于幼稚的问题很抱歉。

leb*_*nok 5

没有引号,AAAetc 将被解释为名称,并且将寻找具有此名称的对象。因此,您将需要非标准评估(使用“原样”参数,而不评估 -substitute返回未评估的表达式,deparse并将其转换为字符串),例如

c__ <- function(...) sapply(substitute(list(...)),deparse)[-1]
vec <-c__(AAA, BBB, CCC, DDD, EEE, FFF, GGG, HHH)
vec 
# [1] "AAA" "BBB" "CCC" "DDD" "EEE" "FFF" "GGG" "HHH"
Run Code Online (Sandbox Code Playgroud)