4

誰かが私が数字が数値であるかどうかをチェックするために以下の関数を変更するのを手伝ってもらえますか?

# 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

3.14のような小数になったらcheck.numeric()戻りたいです。TRUE

4

2 に答える 2

13

次のような関数が必要なようです。

f <- function(x) is.numeric(x) & !is.na(x)
于 2012-11-09T03:07:08.670 に答える
13

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
于 2012-11-09T04:34:22.803 に答える