简单的问题,如何从应该是数字的矩阵中删除不需要的字符?
我总是对 apply
函数感到困惑,而且我似乎无法正确理解......
检查这个MWE,我在一些数字后面有一些不需要的“%”,需要将它们删除。我知道如何在变量(列)的基础上执行此操作,但如何将其正确应用于整个矩阵?
> a=matrix(c('7%','11%',22,'65%',7,8,'1%','77%','34%'), ncol=3)
> a
[,1] [,2] [,3]
[1,] "7%" "65%" "1%"
[2,] "11%" "7" "77%"
[3,] "22" "8" "34%"
> as.numeric(sub("%$","",a[,1]))
[1] 7 11 22
预期输出:
> a
[,1] [,2] [,3]
[1,] 7 65 1
[2,] 11 7 77
[3,] 22 8 34
最佳答案
在矩阵上,您可以直接应用变换:
b <- a
b <- as.numeric(sub('%$','', b))
dim(b) <- dim(a)
b
# [,1] [,2] [,3]
#[1,] 7 65 1
#[2,] 11 7 77
#[3,] 22 8 34
关于从数字矩阵中删除 '%',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63068166/