首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种矢量化的方式来使用is.numeric?

有没有一种矢量化的方式来使用is.numeric?
EN

Stack Overflow用户
提问于 2012-01-30 22:39:17
回答 2查看 3.6K关注 0票数 7

我在SO上阅读了this question,想知道是否有任何方法可以以矢量化的方式使用is.numeric。重点是,如果你有一个矢量化的方法来检查一个变量是否是数值的,那么任何依赖于变量是数值的函数都可以被矢量化。否则,它不能被矢量化。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-30 23:46:05

根据评论:

如果您希望使用as.numeric测试data.frame的列,请使用apply

代码语言:javascript
复制
> dat <- data.frame(v1=1:5,v2=letters[1:5],v3=rnorm(5),v4=c(1,2,'c','d',5))

> sapply(dat,is.numeric)
   v1    v2    v3    v4 
 TRUE FALSE  TRUE FALSE 

或者,为了实现多样性,您可以使用plyr包中的colwise

代码语言:javascript
复制
> colwise(is.numeric)(dat)
    v1    v2   v3    v4
1 TRUE FALSE TRUE FALSE
票数 8
EN

Stack Overflow用户

发布于 2012-01-30 23:46:46

这应该会得到所需的结果:

代码语言:javascript
复制
rep(is.numeric(x), length(x))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9065545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档