Coerción explícita en la programación R

La coerción de un objeto de un tipo de clase a otro se conoce como coerción explícita . Se logra a través de algunas funciones que son similares a las funciones base. Pero se diferencian de las funciones básicas en que no son genéricas y, por lo tanto, no llaman a los métodos de clase S3 para la conversión.

Diferencia entre conversión, coerción y yeso:

Normalmente, todo lo que se convierte implícitamente se denomina coerción y, si se convierte explícitamente, se conoce como conversión. La conversión significa ambos tipos: coerción y lanzamiento.

Coacción explícita al carácter

Hay dos funciones para hacerlo as.character() y as.string()

Si v es un vector que se necesita convertir en carácter, entonces se puede convertir como:

  •  como.carácter(v, codificación = NULL)
  •  as.string(v, codificación = NULL)

Aquí, el parámetro de codificación informa al compilador R sobre la codificación del vector y ayuda internamente en la gestión de vectores de caracteres y strings.

Python3

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

Producción:

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

Coerción explícita a números y lógicos.

Todos son como funciones * con un solo parámetro, es decir, un vector que se va a convertir.

.Diferencia-tabla { borde-colapso: colapsar; ancho: 100%; } .Tabla de diferencias td { color-texto: negro !importante; borde: 1px sólido #5fb962; alineación de texto: izquierda! importante; relleno: 8px; } .Diferencia-tabla th { borde: 1px sólido #5fb962; relleno: 8px; } .Tabla de diferencias tr>th{ color de fondo: #c6ebd9; alineación vertical: medio; } .Difference-table tr:nth-child(odd) { background-color: #ffffff; } 

Función Descripción
como.lógico

Convierte el valor a tipo lógico.

  • Si 0 está presente, entonces se convierte a FALSO
  • Cualquier otro valor se convierte en VERDADERO
como entero Convierte el objeto a tipo entero
como.doble Convierte el objeto a tipo de precisión doble
como.complejo Convierte el objeto a tipo complejo
como.lista Acepta solo tipo de diccionario o vector como argumentos de entrada en el parámetro

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)

Producción:

[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

Produciendo NA

Las AN se producen durante la coerción explícita si R no puede decidir la forma de coaccionar algún objeto.

Python3

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

Producción:

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

Publicación traducida automáticamente

Artículo escrito por support3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *