Índice
- O Curso R
-
- Tutoriais
-
- Apostila
-
- 6. Testes de Hipótese (em preparação!)
- Exercícios
-
- Material de Apoio
-
- Área dos Alunos
-
- Cursos Anteriores
-
IBUSP
Outras Insitutições
Linques
Visitantes
Outras Insitutições
Aluno de Doutorado do Departamento de Genética e Biologia Evolutiva do Instituto de Biociências da Universidade de São Paulo. Minha pesquisa é direcionada ao estudo da diversidade morfocraniana humana e seus padrões microevolutivos. Meus interesses englobam ainda Evolução Humana, Arqueologia e Antropologia Biológica.
“É muito comum a presença de valores faltantes (missing values) em bancos de dados extensos, que prejudicam a aplicação de determinadas técnicas analíticas, como a Análise de Componentes Principais, por exemplo, à esses bancos. Para contornar esse problema, sem eliminar as observações que apresentam NAs, normalmente se procede a substituição desses valores por um número estimado. A estimativa desse novo número pode ser feita por diferentes critérios, como a média geral de todas as observações, a média de um determinado grupo da amostra, um valor regredido para toda a amostra ou um valor regredido para o grupo da amostra”. A proposta consiste em desenvolver uma função que opere um data.frame qualquer, destaque os NAs presentes e faça a substituição desses valores por critérios escolhidos no argumento da função.
Execelente problema! Muito bem dimensionado e claramente apresentado.
limpa.missing {base} R Documentation
Remove NA's de um data.frame
Descrição:
limpa.missing remove valores NA presentes em data frame, substituindo-os pela média global de cada variável do frame. Retorna os valores do data frame e produz um arquivo “.txt” com a nova matriz.
Uso:
limpa.missing(…)
Argumentos:
… O Objeto (data.frame) que deve ter os valores faltantes removidos.
Detalhes:
O data.frame deve ser composto por nomes (ID's) na primeira coluna, seguido pelas variáveis nas colunas seguintes.
Função em desenvolvimento!
Author:
Danilo V Bernardo danvb@ib.usp.br
Referencias:
Crawley, M.J. (2007). The R book. Wiley, Wiley, Imperial College London, UK.
Exemplo:
limpa.missing(dados)
limpa.missing ← function(x) {
x -> mx ### cria o objeto a ser manipulado n=dim(mx)[2] ### descobre o número de colunas do objeto s=seq(2,(dim(mx)[2])) ### cria uma sequência de 2 até o número final de colunas do objeto medias_g=c("médias_geral", round(mean(mx[,s],na.rm=TRUE), 3)) ### cria um vetor contendo as médias das variáveis (colunas) independente dos grupos (geral), excluindo apenas os NAs mx -> MX for (i in s) { replace(mx[i], is.na(mx[i]), medias_g[i]) -> MX[i] MX[i] }
return(MX) write.table(MX, “dados.txt”, sep=“\t”) }
Cadê o plano B?
Professores: A cabeça esvaziou (sim, sim, síndrome do Pink) mas prometo que até amanhã posto alguma coisa para o plano B, pode ser? Penso em fazer alguma função para simulação que se aplique à genética de populações.
“Quem mexe com R não precisa de playstation”