2012-10-21 56 views
2

我已經通過文件解析來提取某些值。一列包含符號的百分比。有沒有什麼辦法去除那個「%」字符?任何方式來編輯R中矩陣中的值?

從這:

98.9% 23 43 
92.2% 342 34 
98.9% 53 53 
82.2% 32 76 
97.9% 83 45 
92.9% 92 23 

到:

98.9 23 43 
92.2 342 34 
98.9 53 53 
82.2 32 76 
97.9 83 45 
92.9 92 23 

回答

2

使用gsub來替代%空字符串,然後轉換爲數值:

x <- c("98.9%", "92.2%", "98.9%", "82.2%", "97.9%", "92.9%") 
as.numeric(gsub("%", "", x)) 
[1] 98.9 92.2 98.9 82.2 97.9 92.9 
+0

太好了!謝謝。 – Steve

7

你說的標題,你有一個矩陣 - 在這種情況下矩陣中的所有內容都應該是'人物'已經。用gsub替換%。

> j <- matrix(c("1%", "2%", 3, 4), ncol = 2) 
> j 
    [,1] [,2] 
[1,] "1%" "3" 
[2,] "2%" "4" 
> gsub("%", "", j) 
    [,1] [,2] 
[1,] "1" "3" 
[2,] "2" "4" 

,如果你希望它是數字,你可以一起使用applyas.numeric

> apply(gsub("%", "", j), 1, as.numeric) 
    [,1] [,2] 
[1,] 1 2 
[2,] 3 4 
+0

似乎它是gsub中固有的。 – Steve