我已经解析了一个文件来提取某些值。列包含符号的百分比。有没有办法删除那个“%”字符?
由此:
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
答案 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"
如果您希望它是数字,则可以使用apply
和as.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