A morfometria geométrica é uma técnica utilizada pra estudar a forma de diferentes organismos e estruturas. Para isto, cada objeto de estudo é transformado em uma figura geométrica, formada por uma nuvem de pontos. O centróide de um conjunto de pontos é o ponto que tem as coordenadas (x, y, z) equivalentes às médias das coordenadas de todo o conjunto de pontos. Como o cálculo do centróide é primeiro passo necessário para que todas as análises morfométricas sejam realizadas, sugiro a criação de uma função que calcule o centróide de cada configuração de uma amostra, a partir de uma matriz de dados contendo as coordenadas de cada estrutura. (Em uma matriz que contem as coordenadas de 20 crânios, esta função calcularia o centróide de cada crânio).
Idéia legal e bem geral! Com a função aggregate isto é bem simples, e te sugiro acrescentar mais alguma coisa. Sugestões:
Como plano B, sugiro uma função que retire os “NAs” de um arquivo, mostre a sua estrutura, apresente as 5 linhas iniciais e finais e exponha um resumo, depois do mesmo ter sido aberto com a função “read.table”.
centroide package:nenhum R Documentation
Cálculo do centróide e do tamanho do centróide de uma amostra.
Description:
Calcula o centróide geral de um conjunto de dados e também o centróide
por espécime. Calcula ainda, o tamanho do centróide
(distância do centróide de cada indivíduo até a configuração centróide),
retornando em um novo data.frame.
Usage:
centroide(X, col.especimes)
Arguments:
X: data.frame que contém valores de uma amostra e espécimes incluídos nesta amostra.
col.especimes: nome da coluna que contém todos os espécimes incluídos na amostra.
Details:
Sua tabela de dados deve conter uma coluna com os espécimes da amostra e 3 colunas contendo as
variáveis x, y e z.
(Dica: programe seu digitalizador morfométrico para tranferir os dados desta forma).
Value:
Os valores do centróide geral e por espécime são calculados e exibidos na
tela, assim como o data.frame contendo os tamanhos de centróide.
Author(s):
Nicolle Veiga Sydney
nvsydney@usp.br
References:
Monteiro, L. R. e Reis, S. F. (2001) Princípios de morfometria geometrica. Holos Editora.
189p.
Moraes, D. A. (2003) A MORFOMETRIA GEOMÉTRICA E A "REVOLUÇÃO NA MORFOMETRIA": LOCALIZANDO
E VISUALIZANDO MUDANÇAS NA FORMA DOS ORGANISMOS. Bioletim. Ano III. Número 3.
See Also:
'tapply' do pacote base, para calcular o centróide por espécime.
Examples:
PARA COMEÇAR, SALVE O DATA.FRAME ABAIXO E CARREGUE NO R, POIS A FUNÇÃO SÓ FUNCIONA PARA
DATA.FRAMES.
cranio<- read.table("testecentroide.txt", h=T)
attach(cranio)
cranio
RODE A FUNÇÃO...
centroide(cranio, ntombo)
centroide = function (X, col.especimes)
{
M = X[,sapply(X,is.numeric)]
cent=apply(M,2,mean)
cent
p<-dim(M)[1]
size<-sqrt(sum(apply(M,2,var))*(p-1))
cent.size=list("centroid_size"=size,"scaled"=M/size)
cent.size
especime_x<-tapply(x,col.especimes,mean)
especime_y<-tapply(y,col.especimes,mean)
especime_z<-tapply(z,col.especimes,mean)
cent.esp<-rbind(especime_x,especime_y,especime_z)
cent.esp
return(list(cent, cent.esp, cent.size))
}