在R语言中使用paste函数的collapse参数时,如何为折叠后的列值添加引号
解决方法:给每个元素添加单引号后再折叠
你可以通过两种简单的方式实现目标:
- 方法一:使用
shQuote()自动添加单引号
这个函数专门用来给字符串添加引号,指定type = "sh"就能生成单引号包裹的格式,之后再用collapse拼接:
df <- data.frame(a=c("a","b","c"), number=c(1,2,3)) paste(shQuote(df$a, type = "sh"), collapse = ",")
执行后会直接得到:'a','b','c'
- 方法二:手动拼接单引号
如果觉得更直观,可以用paste0(无默认分隔符的paste)给每个元素前后加上单引号,再用逗号折叠:
paste0("'", df$a, "'", collapse = ",")
这个方法的结果和上面完全一致,适合喜欢手动控制格式的场景。
原来的代码paste(df$a, collapse = ",")只是单纯用逗号连接了元素,没有给每个值添加单引号,所以只要先完成单引号的包裹步骤,就能得到你想要的输出啦。
内容的提问来源于stack exchange,提问作者Priit Mets
相关产品推荐
相关产品推荐

