zoukankan      html  css  js  c++  java
  • R语言的which函数,针对没有符合条件的返回值为integer(0),之后如何判断

    >x1=c(4,5)

    >which(x1==3)

    integer(0)

    > length(integer(0))
    [1] 0

    返回值为integer(0),其长度为0;

    针对integer(0),numeric(0),logical(0) 其长度全部为0

    以下为转载:关于integer(0),numeric(0),logical(0)的问题

    logical(0) 不等于 numeric(0)。两者都不等于NULL值,即is.null(logical(0))和is.null(numeric(0))返还值都是FALSE。这很有意思,说明长度为零的值有时却不会别算为空值,但空值的定义却是函数中没有被赋值的参数,特征就是没有值。如何区分NULL和NA?很简单,后者的logical length是1,而前者的logical length是0,意思是假如用is.logical判断NA的逻辑值,得到的结果是TRUE。NA可以为正无穷或负无穷,但NULL永远代表的是没有这个值,一个空集的概念。

    总结一下is.logical(condition)的返回值, 括号中的条件为以下状态:

    1. numeric(0) == numeric(0)和numeric(0) != numeric(0),返回TRUE。

    2. logical(0), numeric(0), NULL,返回FALSE。

    3. NA,返回TRUE。

    NULL还有一个问题,就是如果用if-else循环,if(条件)的条件中的假如出现变量被“赋值”是NULL,numeric(0),还是logical(0),就会出现error message说条件中赋值长度不能为零。这里tricky的地方在于,尽管logical(0)和numeric(0)并不是NULL object,由于它们三者的“长度”都是零,它们都不算是逻辑值。

  • 相关阅读:
    HTTP 错误 500.21
    SQL SERVER 強制指定使用索引 -转载 只为学习
    DevExpress GridControl 导出为Excel
    WCF入门教程一[什么是WCF]--转载只为学习收藏
    Sql查询除ID以外相同的数据
    Step By Step(Lua输入输出库)
    Step By Step(Lua字符串库)
    Step By Step(Lua弱引用table)
    Step By Step(Lua面向对象)
    Step By Step(Lua模块与包)
  • 原文地址:https://www.cnblogs.com/liuting1990/p/6401134.html
Copyright © 2011-2022 走看看