作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
extract_numeric("-2%") [1] -6ren">
有没有办法使用tidyr的extract_numeric()来提取负数?
例如,
> extract_numeric("2%")
[1] 2
> extract_numeric("-2%")
[1] 2
我真的希望第二次调用返回-2。
比尔
PS:虽然我今天不关心这个问题,但我怀疑诸如“-$2.00”之类的情况会使任何通用解决方案变得复杂。
最佳答案
extract_numeric
非常简单:
> extract_numeric
function (x)
{
as.numeric(gsub("[^0-9.]+", "", as.character(x)))
}
<environment: namespace:tidyr>
它只是替换任何不是 0 到 9 或“.”的字符。什么也没有。因此“-1”将变为 1,您对此无能为力...除非向 tidyr 提交增强请求,或者编写您自己的...
extract_num = function(x){as.numeric(gsub("[^0-9\\-]+","",as.character(x)))}
会做的:
> extract_num("-$1200")
[1] -1200
> extract_num("$-1200")
[1] -1200
> extract_num("1-1200")
[1] NA
Warning message:
In extract_num("1-1200") : NAs introduced by coercion
但是正则表达式可能会做得更好,只允许在开头使用减号......
关于r - extract_numeric 可以处理负数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25291191/
有没有办法使用tidyr的extract_numeric()来提取负数? 例如, > extract_numeric("2%") [1] 2 > extract_numeric("-2%") [1]
有没有办法使用tidyr的extract_numeric()来提取负数? 例如, > extract_numeric("2%") [1] 2 > extract_numeric("-2%") [1]
我是一名优秀的程序员,十分优秀!