Criando um método S3 (1)
Sozinha, a função genérica não faz nada. Para isso, você precisa criar métodos, que são apenas funções comuns com duas condições:
- O nome do método deve ter o formato
generic.class. - A assinatura do método — isto é, os argumentos passados para o método — deve conter a assinatura da genérica.
A sintaxe é:
generic.class <- function(some, arguments, ...) {
# Faça algo
}
Este exercicio faz parte do curso
Programação Orientada a Objetos com S3 e R6 em R
Instruções do exercicio
A função genérica get_n_elements() foi definida no seu workspace.
- Digite o nome dela (sem parênteses) para ver como funciona.
- Escreva um método S3 para calcular o número de elementos em um objeto
data.frame.- O nome da função deve ser o nome da genérica, depois um
.e então o nome da classe da entrada. - Os argumentos de entrada devem ser
xe.... - O corpo da função deve ter uma única linha, retornando o número de elementos (linhas vezes colunas) em um data frame.
- O nome da função deve ser o nome da genérica, depois um
- Chame
get_n_elementsno conjunto de dadossleep(docs) e atribua o resultado à variáveln_elements_sleep. - Imprima
n_elements_sleepno console para ver o resultado.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# View get_n_elements
get_n_elements
# Create a data.frame method for get_n_elements
___ <- ___
# Call the method on the sleep dataset
n_elements_sleep <- ___
# View the result
n_elements_sleep