2012-12-29 38 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"