在 R 中将字符向量粘贴为逗号分隔的未加引号的列表

col*_*lin 3 r

我有一个看起来像这样的字符向量

vector <- c('a','b','c','d','e')
Run Code Online (Sandbox Code Playgroud)

我在 for 循环中有一个对象,它将输入作为:

out[a,] <- c(a,b,c,d,e)
Run Code Online (Sandbox Code Playgroud)

a-e带值的变量在哪里(例如,a=0.7)。我想为out对象提供一些对象的转换版本vector。我试过了

paste(noquote(vector),collapse=',')
Run Code Online (Sandbox Code Playgroud)

然而,这只是返回

"a,b,c,d,e"
Run Code Online (Sandbox Code Playgroud)

这仍然没有用。

Tom*_*mmy 6

颠倒函数调用的顺序:

noquote(paste(vector, collapse = ','))
Run Code Online (Sandbox Code Playgroud)

这将打印[1] a,b,c,d,e. 如果你不喜欢[1]使用

cat(paste(vector, collapse = ','))
Run Code Online (Sandbox Code Playgroud)

哪个打印

a,b,c,d,e
Run Code Online (Sandbox Code Playgroud)


lmo*_*lmo 5

您可以使用mget将对象放入命名列表:

# data
a <- 1; b <- 2; c <- 3; d <- 4; e <- 5

mget(letters[1:5])

$a
[1] 1

$b
[1] 2

$c
[1] 3

$d
[1] 4

$e
[1] 5
Run Code Online (Sandbox Code Playgroud)

或者把它包mgetunlist得到一个名为向量:

unlist(mget(letters[1:5]))
a b c d e 
1 2 3 4 5 
Run Code Online (Sandbox Code Playgroud)