我有一個矩陣,看起來這艾克:R中的glob2rx獲取所有最後一位小數爲5的單元格?
wun2 308.0 111.0 72.0 64.0
wupA 8177.0 3933.0 2235.0 2057.0
wus 5.0 0.0 9.0 5.0
x16 581.2 154.3 297.1 384.2
xmas-1 26.5 58.0 26.5 31.0
xmas-2 201.5 138.2 136.5 203.0
y 18.0 1.0 13.0 8.0
yar 5.0 0.0 0.0 2.0
yata 1283.0 679.0 735.0 784.0
yellow-b 129.0 82.0 103.0 96.0
yellow-c 817.3 415.0 832.0 788.0
zormin 3447.0 2005.0 1999.0 2300.0
zpg 1.5 0.0 0.0 0.0
zwilch 1.0 0.0 8.0 14.0
zye 83.0 64.0 17.0 30.8
我要四捨五入矩陣,但我希望所有其最後一個小數爲5〜調高至下一個整數的數字。因此,我想在執行一般循環()之前將頂點函數應用於以。(somenumber +)5結尾的所有單元格。
我不知道如何指定作爲外殼表達glob2rx這樣就會使足夠的正則表達式,但我推斷它必須是這樣的:
grx <- "^\\d+\\.\\d+5$"
然而,這並未當我做grep(grx, x=matrix.1, value=TRUE)
時,似乎沒有任何單元格。
什麼可能是錯的?
謝謝! Carmen
你是不是在後''^開始缺少\\? 「^ \\ d \\。\\ d + 5 $」似乎正常工作。 – Arun 2013-05-13 19:28:32
謝謝,阿倫。我已經將這添加到正則表達式中。然而,當我在R中運行它時,作爲'grep(grx,x = WTyoung.WTold,value = TRUE)',我得到:''grep錯誤(grx,x = WTyoung.WTold,value = TRUE) : 無效的正則表達式'^ \ d \。\ 5 $',原因'無效的回參考' – 2013-05-13 19:52:38