【发布时间】:2020-07-24 06:40:23
【问题描述】:
快速提问,如何从应该是数字的矩阵中删除不需要的字符?
我总是对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
【问题讨论】:
-
你想
apply你的代码到每一列(边距2):apply(a, 2, function(x) as.numeric(sub("%$","", x))) -
当然!我正在尝试应用,但没有正确...谢谢!