【发布时间】:2012-10-29 09:08:57
【问题描述】:
谁能帮我修改下面的函数来检查一个数字是否为数字?
# 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
我希望 check.numeric() 在像 3.14 这样的小数时返回 TRUE。
【问题讨论】:
-
为什么
is.numeric不够...? -
哦哈哈我不知道已经有一个内置的 R 函数可以做到这一点。谢谢,这正是我需要的功能。不过我仍然需要帮助。见下方评论
-
@joran 我正在处理的脚本
is.numeric(x),其中x被赋值为x<- NA_real_,结果为TRUE。我该如何解决这个问题? -
听起来您有两件事要检查:
is.numeric和is.na。 -
我相信这就是
NA_real_的意义所在——同时是NA和数字。