Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Função Mode no R retorna "numeric" para lista de números

A função para MODA dada no exercício foi acatada pelo R e a lista sugerida foi salva com o nome "numeros". Quando coloco mode(numeros) ele retorna "numeric". Já digitei apenas numeros e ele me retorna a lista, ou seja, ela foi feita corretamente:

> numeros
 [1] 1 2 2 2 2 3 3 4 5 5 6 7

A função salva foi:

Mode <- function(x) {
+      ux <- unique(x)
+      ux[which.max(tabulate(match(x, ux)))]
5 respostas

Oi José, tudo bom?

Acho que não entendi sua duvida, está tudo certo? =)

Oi André, tudo bem sim e com você?

Estou fazendo o curso de Introdução a estatística e lá estamos utilizando o R para realizar algumas funções. O R não possui uma função para o cálculo de MODA, para isso é dado em um exercício o código mencionado acima.

Executei o código no R e o utilizei em uma lista de números salva de acordo com instrução ainda no curso. Quando executei a função o R não me retorna um resultado válido, retorna apenas "numeric".

Queria saber o porquê disso.

Obrigado.

solução!

Entendo... testei aqui, criando a lista e a função Mode:

numeros <- c(1, 2, 2, 2, 2, 3, 3, 4, 5, 5, 6, 7)

Mode <- function(x) {
     ux <- unique(x)
     ux[which.max(tabulate(match(x, ux)))]
}

e por fim executei:

Mode(numeros)

E retornou a moda certinho:

[1] 2

Você seguiu os mesmos passos?

Segui os mesmos passos mas na hora não deu o mesmo resultado, agora abri novamente o R e foi.

Eu acho que explico. Eu também tive o mesmo problema. É porque na primeira vez, usamos "mode" com 'm' minúsculo. Acho que o R é Case Sensitive. Além disso, eu estou usando o RStudio. No r normal, não sei se há a mesma situação.