use*_*954 3 regex grep r numeric decimal
有人可以帮我修改下面的功能,检查一个数字是否是数字?
# handy function that checks if something is numeric
check.numeric <- function(N){
!length(grep("[^[:digit:]]", as.character(N)))
}
check.numeric(3243)
#TRUE
check.numeric("sdds")
#FALSE
check.numeric(3.14)
#FALSE
Run Code Online (Sandbox Code Playgroud)
我希望在它像3.14这样的小数时check.numeric()返回TRUE.
jor*_*ran 12
听起来你想要一个像这样的函数:
f <- function(x) is.numeric(x) & !is.na(x)
Run Code Online (Sandbox Code Playgroud)
Jos*_*ich 11
您可以is.finite用来测试值是否为数字和非NA.这适用于数值,整数和复数值(如果实部/虚部都是有限的).
> is.finite(NA)
[1] FALSE
> is.finite(NaN)
[1] FALSE
> is.finite(Inf)
[1] FALSE
> is.finite(1L)
[1] TRUE
> is.finite(1.0)
[1] TRUE
> is.finite("A")
[1] FALSE
> is.finite(pi)
[1] TRUE
> is.finite(1+0i)
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18612 次 |
| 最近记录: |