微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创建逗号分隔的向量

如何解决创建逗号分隔的向量

| 我有一个数字向量,我正在尝试将其转换为字符向量,其中 每个元素均以逗号分隔。
> one = c(1:5)
> paste(as.character(one),collapse=\",\")
[1] \"1,2,3,4,5\"
> paste(as.character(one),sep=\"\' \'\",5\"
但是,我希望输出看起来像:
\"1\",\"2\",\"3\",\"4\",\"5\" 
我是否在粘贴功能中缺少某些参数? 救命!?     

解决方法

        
shQuote
可能是最好的方法。具体来说,这将为您提供所需的输出:
cat(paste(shQuote(one,type=\"cmd\"),collapse=\",\"))
如果单引号没问题,则可以使用:
paste(shQuote(one),\")
type=\"cmd\"
实际上提供了转义的引号,这在大多数情况下实际上是有用的,但是如果您真的想用未转义的引号将其显示在某处,则
cat
提供了它。     ,        您说您想要具有该输出的字符向量,但是其他发现此问题的人可能正在寻找以下功能之一: 首先,一种使输出准备好输入到R的方法;那是
dput
> dput(as.character(one))
c(\"1\",\"2\",\"3\",\"4\",\"5\")
其次,一种输出csv文件的方法,该文件是
write.csv
write.table
。这些函数采用此处未使用的参数
file
直接输出到文件。
> write.table(matrix(as.character(one),nrow=1),sep=\",\",row.names=FALSE,col.names=FALSE)
\"1\",\"5\"

> write.csv(matrix(as.character(one),row.names=FALSE)
\"V1\",\"V2\",\"V3\",\"V4\",\"V5\"
\"1\",\"5\"
    ,        假设您希望输出一个字符串(而不是字符向量),则可以尝试:
paste(\"\'\",as.character(one),\"\'\",sep=\"\")
这样您就可以在数字周围加上单引号而不是双引号,但这基本上就是您想要的。 而且您总是可以逃脱以获得双引号:
rs <- paste(\"\\\"\",\"\\\"\",sep=\"\")
cat(rs)
应该会打印出您想要的双引号。     ,        除
shQuote
外,请参见函数
sQuote
dQuote
分别将文本用单引号和双引号引起来。您还需要设置ѭ18以获得纯(单向)ASCII引号。     ,        与toString类似
toString(paste0(\"\'\",1:10,\"\'\") )
    ,        如果要使用
paste
函数,只需添加诺亚的答案即可:
paste(shQuote(one,type=\"sh\"),\")
应该给你:
[1] \'1\',\'2\',\'3\',\'4\',\'5\'
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。