📜  R 编程中的显式强制

📅  最后修改于: 2022-05-13 01:54:55.080000             🧑  作者: Mango

R 编程中的显式强制

将对象从一种类型强制转换为另一种类型称为显式强制。它是通过一些类似于基本功能的功能来实现的。但它们与基函数不同,因为它们不是通用的,因此不调用 S3 类方法进行转换。

转换、强制和强制转换的区别:

通常,隐式转换的内容称为强制转换,如果显式转换则称为强制转换。转换表示类型强制和强制转换。

对字符的显式强制

有两个功能可以这样做。字符()as。字符串()

如果 v 是需要转换为字符的向量,则可以转换为:

  • 作为。字符(v,编码 = NULL)
  • 作为。字符串(v,编码 = NULL)

这里的编码参数通知 R 编译器有关向量的编码,并在内部帮助管理字符和字符串向量。

Python3
# Creating a list
x<-c(0, 1, 0, 3)
 
# Converting it to character type
as.character(x)


Python3
# Creating a list
x<-c(0, 1, 0, 3)
 
# Checking its class
class(x)
 
# Converting it to integer type
as.numeric(x)
 
# Converting it to double type
as.double(x)
 
# Converting it to logical type
as.logical(x)
 
# Converting it to a list
as.list(x)
 
# Converting it to complex numbers
as.complex(x)


Python3
# Creating a list
x<-c("q", "w", "c")
as.numeric(x)
as.logical(x)


输出:

[1] "0" "1" "0" "3"

对数字和逻辑的显式强制

它们都是 as * 函数,只有一个参数,即要转换的向量。

.Difference-table { 边框折叠:折叠;宽度:100%; } .Difference-table td { text-color: black !important;边框:1px 实心#5fb962;文本对齐:左!重要;填充:8px; } .Difference-table th { 边框:1px solid #5fb962;填充:8px; } .Difference-table tr>th{ 背景颜色:#c6ebd9;垂直对齐:中间; } .Difference-table tr:nth-child(odd) { background-color: #ffffff; }

FunctionDescription
as.logical

Converts the value to logical type.

  • If 0 is present then it is converted to FALSE
  • Any other value is converted to TRUE
as.integerConverts the object to integer type
as.doubleConverts the object to double precision type
as.complexConverts the object to complex type
as.listIt accepts only dictionary type or vector as input arguments in the parameter

Python3

# Creating a list
x<-c(0, 1, 0, 3)
 
# Checking its class
class(x)
 
# Converting it to integer type
as.numeric(x)
 
# Converting it to double type
as.double(x)
 
# Converting it to logical type
as.logical(x)
 
# Converting it to a list
as.list(x)
 
# Converting it to complex numbers
as.complex(x)

输出:

[1] "numeric"
[1] 0 1 0 3
[1] 0 1 0 3
[1] FALSE  TRUE FALSE  TRUE
[[1]]
[1] 0

[[2]]
[1] 1

[[3]]
[1] 0

[[4]]
[1] 3

[1] 0+0i 1+0i 0+0i 3+0i

生产 NA

如果 R 无法决定强制某个对象的方式,则在显式强制期间会产生 NA。

Python3

# Creating a list
x<-c("q", "w", "c")
as.numeric(x)
as.logical(x)

输出:

[1] NA NA NA
Warning message:
NAs introduced by coercion 
[1] NA NA NA