首页 > 解决方案 > 胶水()中粘贴()的意外行为

问题描述

paste(x, collapse = ',')glue()返回长度为 1 的字符串。但是,在调用中对其进行评估时,情况并非如此。胶水的帮助页面明确指出“用大括号括起来的表达式将被评估为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?

标签: r

解决方案


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

而是使用:

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

推荐阅读