2012-12-29 39 views
1

我有一个函数接受参数bm(然后传递给format())。在函数的某个点上,我想使用相同的参数bm并将其粘贴到矢量的元素。正如你可以从最简单的例子看到的那样,字符串不一样。我怎么能(给定参数bm)使用参数bm和某种paste() ...获得与format()(即\\,而不是\\\\,)相同的结果?粘贴/连接字符串涉及反斜杠

bm <- "\\\\," 
x <- format(c(1,10000), big.mark=bm, trim=TRUE) 
y <- x 
y[1] <- paste0(bm, x[1]) 
y # both components should contain \\, 
+0

粘贴没有第一个\ bm的'bm'版本? – joran

+0

这给出了'错误:'\,'是字符串中一个无法识别的转义字符串开始“\\\,”' –

回答

1

不知道这是否可以帮助你,但\\\\,1的长度为4和10\\,000具有长度7.我以为你想Y [2]等于R串10\\\\,000。这样做的一种方法是在操纵字符串后使用encodeString()

bm <- "\\\\," 
x <- encodeString(format(c(1,10000), big.mark=bm, trim=TRUE)) 
y <- x 
y[1] <- paste0(bm, x[1]) 
y 
# [1] "\\\\,1"  "10\\\\,000"