有没有办法在R中的矩阵中编辑值?

时间:2012-10-21 06:04:37

标签: r matrix

我已经解析了一个文件来提取某些值。列包含符号的百分比。有没有办法删除那个“%”字符?

由此:

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 个答案:

答案 0 :(得分: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

答案 1 :(得分: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