Identificar las propiedades del objeto R
- Identificar las propiedades del objeto R
-
Función
str()
-
Función
tipo de ()
-
Función
clase()
-
Funciones
es.___()
-
Función
atributos()
- Otras funciones
En nuestro análisis de datos, podemos encontrarnos con una situación en la que una función u operador que usamos funcione en algunos objetos pero no en otros. Esto sucede porque la función/operador solo funciona en objetos de cierto tipo.
Por ejemplo, el operador $
funciona en una lista pero no en un vector atómico.
Código de ejemplo:
# A list.
l = list(one="First", two="Last")
# A vector.
v = c(one="First", two="Last")
l$one # Works.
v$one# Error.
Producción :
> l$one # Works.
[1] "First"
> v$one# Error.
Error in v$one : $ operator is invalid for atomic vectors
Identificar las propiedades del objeto R
Este artículo analizará las funciones que nos ayudan a identificar varias propiedades de los objetos con los que trabajamos.
Este artículo solo dará una breve descripción y un ejemplo para cada función. La documentación de R para estas funciones brinda más detalles y ejemplos.
Primero, crearemos algunos objetos R.
Código de ejemplo:
# Vector of numbers.
vn = c(4, 5, 6, 7)
# Vector of Booleans. (A vector of True False values)
vb <- vn%%2 == 0
# Data frame.
dfr = data.frame(Col1=vn, Col2=vb)
Función str()
La función str()
muestra la estructura interna del objeto. Funciona en cualquier objeto R.
Código de ejemplo:
str(vn)
str(vb)
str(dfr)
Producción :
> str(vn)
num [1:4] 4 5 6 7
> str(vb)
logi [1:4] TRUE FALSE TRUE FALSE
> str(dfr)
'data.frame': 4 obs. of 2 variables:
$ Col1: num 4 5 6 7
$ Col2: logi TRUE FALSE TRUE FALSE
Función tipo de ()
La función typeof()
muestra el tipo o modo de almacenamiento de cualquier objeto R.
Código de ejemplo:
typeof(vn)
typeof(vb)
typeof(dfr)
Producción :
> typeof(vn)
[1] "double"
> typeof(vb)
[1] "logical"
> typeof(dfr)
[1] "list"
Función clase()
La función clase()
muestra el atributo clase
del objeto R. Enumera los nombres de las clases de las que hereda este objeto.
Incluso los objetos que no tienen un atributo de clase tienen una clase implícita.
Código de ejemplo:
class(vb)
class(dfr)
# Create a matrix and check its class.
m = matrix(c(1:6), nrow=3)
class(m)
Producción :
> class(vb)
[1] "logical"
> class(dfr)
[1] "data.frame"
> class(m)
[1] "matrix" "array"
Funciones es.___()
R tiene muchas funciones is.___()
incorporadas. Estas funciones devuelven valores booleanos que indican si el objeto es de ese tipo.
Por ejemplo, podemos verificar si un objeto dado es un vector, una lista, una matriz, un arreglo, un marco de datos, etc. En el siguiente código, veremos el resultado de verificar un objeto en particular con varios es.___ ()
funciones.
Código de ejemplo:
# We will check whether the object vb we created is of any of the following types of object.
is.list(vb)
is.vector(vb)
is.atomic(vb)
is.numeric(vb)
is.matrix(vb)
is.data.frame(vb)
is.array(vb)
Producción :
> is.list(vb)
[1] FALSE
> is.vector(vb)
[1] TRUE
> is.atomic(vb)
[1] TRUE
> is.numeric(vb)
[1] FALSE
> is.matrix(vb)
[1] FALSE
> is.data.frame(vb)
[1] FALSE
> is.array(vb)
[1] FALSE
Función atributos()
La función attributes()
muestra una lista de los atributos de un objeto.
Código de ejemplo:
# For the list object.
attributes(l)
# For the data frame object.
attributes(dfr)
# For the matrix object.
attributes(m)
Producción :
> # For the list object.
> attributes(l)
$names
[1] "a" "z"
> # For the data frame object.
> attributes(dfr)
$names
[1] "Col1" "Col2"
$class
[1] "data.frame"
$row.names
[1] 1 2 3 4
> # For the matrix object.
> attributes(m)
$dim
[1] 3 2
Otras funciones
Además de las funciones descritas anteriormente, R tiene otras funciones que nos brindan más información sobre un objeto. Algunos de ellos son específicos para objetos de ciertos tipos.
Algunas de las funciones más utilizadas son:
dim()
: muestra las dimensiones de un objeto.names()
: muestra los nombres de los componentes de un objeto.summary()
: para modelos estadísticos, muestra un resumen del modelo.colnames()
,rownames()
yrow.names()
: muestra los nombres de columna/fila para objetos similares a matrices. Para un marco de datos,rownames()
llama arow.names()
ycolnames()
llama anames()
.