胶水内部的paste()的异常行为

时间:2019-05-06 13:06:46

标签: r

paste(x, collapse = ',')返回长度为1的字符串。但是,在glue()调用中对其求值时,情况并非如此。胶水的帮助页面清楚地指出:“用大括号括起来的表达式将被评估为R代码。”因此,我对此感到有些困惑:

require(glue)

x = 1:3
y = paste(x, collapse = ',')

o1 = glue('{y}')
length(o1) #1

o2 = glue('{ paste(x, collapse = ',') }')
length(o2) #3

为什么o2的长度是3而不是1?

1 个答案:

答案 0 :(得分:1)

因为混合使用`而不是使用两种引号"

代替使用:

o2 = glue('{ paste(x, collapse = ",") }')
length(o2)