R语言中的logical(0)和numeric(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,由于它们三者的“长度”都是零,它们都不算是逻辑值。
R语言中的logical(0)和numeric(0)以及赋值问题的更多相关文章
- 掌握R语言中的apply函数族(转)
转自:http://blog.fens.me/r-apply/ 前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是 ...
- R语言中的factor
对于初学者来说,R语言中的factor有些难以理解.如果直译factor为“因子”,使得其更加难以理解.我倾向于不要翻译,就称其为factor,然后从几个例子中理解: <span style=& ...
- R语言中apply函数
前言 刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算. 那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言 ...
- R语言中的MySQL操作
R语言中,针对MySQL数据库的操作执行其实也有很多中方式.本人觉得,熟练掌握一种便可,下面主要就个人的学习使用情况,总结其中一种情况-----使用RMySQL操作数据库. 1.下载DBI和RMySQ ...
- R语言中Fisher判别的使用方法
最近编写了Fisher判别的相关代码时,需要与已有软件比照结果以确定自己代码的正确性,于是找到了安装方便且免费的R.这里把R中进行Fisher判别的方法记录下来. 1. 判别分析与Fisher判别 不 ...
- R语言中的Apriori关联规则的使用
1.下载Matrix和arules包 install.packages(c("Matrix","arules")) 2.载入引入Matrix和arules包 # ...
- R语言中的read.table()
参考资料:http://www.cnblogs.com/xianghang123/archive/2012/06/06/2538274.html read.table(file, header = F ...
- rugarch包与R语言中的garch族模型
来源:http://www.dataguru.cn/article-794-1.html rugarch包是R中用来拟合和检验garch模型的一个包.该包最早在http://rgarch.r-forg ...
- 关于R语言中dnorm,pnorm,qnorm,rnorm的用法
dnorm,pnorm,qnorm,rnorm的表达式: 其中x和q是由数值型变量构成的向量,p是由概率构成的向量,n是随机产生的个数 mean是要计算正态分布的均值,缺省值为0,sd是计算正态分布的 ...
随机推荐
- redis原理分析
基本全是参考http://blog.csdn.net/a600423444/article/details/8944601 redis的使用大家都很熟悉,可能除了watch 锁,pipelin ...
- 全球首个全流程跨平台界面开发套件,PowerUI分析
一. 首个全流程跨平台界面开发套件,PowerUI正式发布 UIPower在DirectUI的基础上,自主研发全球首个全流程跨平台界面开发套件PowerUI(PUI)正式发布,PowerU ...
- 反射——反射API,使用反射创建数组
反射API Java.lang.Reflect库 ① Class类与Java.lang.Reflect类库一起对反射的概念进行支持. ② java.lang包下: a) Cla ...
- linux命令(2):cd命令
Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. 1. ...
- linux中用户、组的管理(密码管理、权限管理及其修改用户、组)(转)
process(进程) 1 计算资源 权限 用户(获取资源或服务的凭证或标识) 用户,容器,关联权限:用户组(标识符),方便地指派权限 2 用户.组.权限 安全上下文(secure context ...
- 当前界面最上面添加视图(UIWimdow)
-(void)windowAddPushVc:(UIView *)pushView WithTitle:(NSString *)title { UIWindow *window = [UIApplic ...
- Newtonsoft.Json解析Json字符串案例:
/// <summary> /// 上行jsom格式日志记录 /// </summary> /// <param name="responseJson" ...
- install LLVM
version >= 3.8.0 $ cd llvm... $ mv someofClang ./tools $ mkdir build $ cd build $ cmake -DCMAKE_B ...
- DUILIB圆形头象
#ifndef __UIHEADICON_H__#define __UIHEADICON_H__ /* 名称:圆形头像控件(派生CButtonUI类)*/ class CHeadUI: public ...
- centos 常见软件安装
centos虚拟机扩展硬盘空间 http://www.cnblogs.com/sixiweb/p/3360008.html http://blog.csdn.net/remote_roamer/art ...