R语言 显式强制
将一个对象从一种类型的类强制到另一种类型的类被称为 显式强制。 它是通过一些类似于基函数的函数实现的。但它们与基函数不同,因为它们不是通用的,因此不会调用S3类方法进行转换。
转换、强制和铸造之间的区别
通常情况下,凡是隐式转换的都被称为coercion,如果显式转换则被称为cast。转换意味着两种类型–强制和铸造。
明确的强制转换为字符
有两个函数可以做到这一点: as.character() 和 as.string()。
如果v是一个需要转换为字符的向量,那么它可以这样转换。
- as.character(v, encoding = NULL)
- as.string(v, encoding = NULL)
这里编码参数通知R编译器关于向量的编码,并帮助内部管理字符和字符串向量。
输出
对数字和逻辑的显式强制执行
它们都是只有一个参数的*
函数,也就是一个要转换的向量。
函数 | 描述 |
---|---|
as.logical | 将值转换为逻辑类型。 如果有0,那么它将被转换为FALSE。任何其他的值都被转换为 “真”。 |
as.integer | 将对象转换为整数类型 |
as.double | 将对象转换为双精度类型 |
as.complex | 将对象转换为复数类型 |
as.list | 它只接受字典类型或矢量作为参数的输入参数。 |
输出
产生NAs
如果R不能决定胁迫某个对象的方式,那么在显式胁迫过程中会产生NA。
输出