逻辑强制转换

一些被设定接收逻辑输入的函数也可以接收非逻辑向量,例如数值向量。但是,函数处理
非逻辑向量的方式可能与逻辑向量有所不同。因为,非逻辑向量会被强制转换成逻辑向量。
举个例子,如果我们在 if 条件中输入一个数值向量,它就会被强制转换:
if (2) 3
## [1] 3
if (0) 0 else 1
## [1] 1
在 R 中,数值向量或整数向量中的非零数值会被强制转换成 TRUE,只有 0 会被强制
转换成 FALSE,而字符串不能被强制转换成逻辑值:
if ("a") 1 else 2
## Error in if ("a") 1 else 2: 参数不能作为逻辑值来用

posted @ 2019-01-22 11:09  NAVYSUMMER  阅读(130)  评论(0编辑  收藏  举报
交流群 编程书籍