11 agosto, 2021
No R, temos:
Diferenciação: atributo class
# Objeto "data.frame" objPOO <- data.frame(a = 1, b = "1", c = TRUE) # Objeto "data.frame" eh um objeto POO? is.object(objPOO)
## [1] TRUE
# Vetor de comprimento 10 objBASE <- 1:10 # O vetor eh um objeto POO? is.object(objBASE)
## [1] FALSE
typeof() ✔️mode() ✖️storage.mode() ✖️Representação em R |
Representação em C (SEXPTYPE) |
Descrição |
|---|---|---|
NULL |
NILSXP |
Único vetor que tem comprimento zero e não pode ter atributo |
logical |
LGLSXP |
Vetores lógicos |
integer |
INTSXP |
Vetores inteiros |
double |
REALSXP |
Vetores reais |
complex |
CPLXSXP |
Vetores complexos |
character |
STRSXP |
Vetores caracteres (strings) |
list |
VECSXP |
Listas |
raw |
RAWSXP |
Vetores brutos |
Representação em R |
Representação em C (SEXPTYPE) |
Descrição |
|---|---|---|
closure |
CLOSXP |
Funções criadas por meio de function() |
special |
SPECIALSXP |
Funções primitivas (funções básicas e operadores) que são escritas principalmente na linguagem C. Desse modo, essas funções não apresentam as três estruturas básicas de uma função do tipo closure, como formals(), body(), environment(), que são todas NULL. Aprofundaremos esse objeto no módulo avançado |
Representação em R |
Representação em C (SEXPTYPE) |
Descrição |
|---|---|---|
bultin |
BUILTINSXP |
Funções primitivas (funções básicas e operadores) que são escritas principalmente na linguagem C. Desse modo, essas funções não apresentam as três estruturas básicas de uma função do tipo closure, como formals(), body(), environment(), que são todas NULL. Aprofundaremos esse objeto no módulo avançado |
environment |
ENVSXP |
Ambientes |
S4 |
S4SXP |
Objetos com sistema POO S4 |
Representação em R |
Representação em C (SEXPTYPE) |
Descrição |
|---|---|---|
symbol |
SYMSXP |
Nomes associados aos objetos |
language |
LANGSXP |
Objetos de linguagem, que abordaremos na seção sobre metaprogramação |
pairlist |
LISTSXP |
Argumento das funções |
expression |
EXPRESXP |
Vetores de expressão |
externalptr |
EXTPTRSXP |
Apontador externo, são vetores exóticos que tem importância para a linguagem C |
Representação em R |
Representação em C (SEXPTYPE) |
Descrição |
|---|---|---|
weakref |
WEAKREFSXP |
Referência fraca, são vetores exóticos que tem importância para a linguagem C |
bytecode |
BCODESXP |
Código de byte, são vetores exóticos que tem importância para a linguagem C |
promise |
PROMSXP |
Promessas, são objetos responsáveis pelo pelo carregamento preguiçoso dos argumentos de uma função |
Representação em R |
Representação em C (SEXPTYPE) |
Descrição |
|---|---|---|
... |
DOTSXP |
Objeto utilizado como um argumento da função, após a criação de uma função, ainda assim, podem ser inseridos mais argumentos |
any |
ANYSXP |
Raramente utilizado em R, mas aparece por exemplo em as.vector(x, mode = "any"), considerando que x é um objeto R |
| - | CHARSXP |
Cadeia de caracteres internas, isto é, um tipo de escalar string, usado somente internamente |
is.<nome_função>as.<nome_funcão>