Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2010:alunos:trabalho_final:daniela.rossoni:start

Daniela Munhoz Rossoni

dsc02303.jpg

Doutoranda em Genética e Biologia Evolutiva. Sou aluna do Prof. Dr. Gabriel Marroig e estudo evolução e integração morfológica em morcegos da família Phyllostomidae Gray, 1825.

Exercícios

Projeto Final

Plano A. Crânios

Durante o doutorado eu pretendo entender a diversificação craniana dos morcegos da família Phyllostomidae. O meu banco de dados reúne medidas cranianas, tomadas com um digitalizador Microscribe MX que permite obter coordenadas em três dimensões (x, y, z). Ao todo, 31 marcadores geométricos (landmarks) são tomados em cada crânio, e transformados posteriormente em 35 distâncias euclidianas. Para cada crânio são tomadas medidas de duas vistas: a vista A, e vista Z, que podemos chamar respectivamente de anterior e posterior. A junção dessas vistas mais as distâncias entre os pontos permitem a reconstrução de um crânio em 3D. Para permitir uma verificação precisa do erro envolvido nas medidas, cada landmark é tomado duas vezes para cada indivíduo. Os meus dados estão dispostos em planilhas excel. Eu pretendo criar uma função que transforme os dados dessa planilha de duas dimensões em um array de três dimensões contendo: (1) os landmarks, (2) as duas réplicas x, y, z das vistas A e Z, e (3) os indivíduos. Essa função vai me permitir estruturar os dados da forma como eles são coletados (em 3D). Além disso, eu tenho interesse em trabalhar futuramente com o pacote “Shapes” de morfometria geométrica no R, o qual recebe essa conformação de dados.

Comentários PI

  • Vc não teria 4 dimensões? Duas repetições, duas vistas e os indivíduos?
  • Apenas a montagem de um array me parece simples demais, ou estaria subestimando por não ser da área? Converse com o Fabio sobre isto e a possibilidade de incluir algo mais.

Plano B. Guitarra...

Gostaria de elaborar uma função que traduzisse as disposições das notas musicais no braço de uma guitarra… ou violão. Seria uma matriz de seis linhas (as cordas) e doze colunas (os trastes). Tendo isso, gostaria de criar um objeto que representasse as disposições das notas de diferentes escalas pentatônicas (escalas de cinco notas por oitava) no braço da guita.

Comentários PI

Parece legal, mas minha ignorância musical não permite avaliar. De qq forma, manetnha o plano A que é mais biológico. Se pular para este avise para a gente consultar alguém que tenha formação musical.

Comentário ALe

Os pais da Barbara (monitora) são músicos e tem uma escola de música… consultoria externa!

Apresentacão Projeto Final - Plano A. Crânios

Código da Função

input.skulls = function(csvA,csvZ)
{
bats<-read.csv2("bats.csv",header=F, as.is=T, na.strings = "nnn")
bats1<-read.csv2("bats1.csv",header=F)

labelA<-bats[,1][bats[,1]!=""]
matrix(labelA,nrow=11)
labelA<-matrix(labelA,nrow=11)
rownames(labelA)<-c("museu","nºplanilha","nºtombo","gênero","epíteto esp","sexo","localidade","estado","país","obs1","obs2")

landmarksA<-as.character(bats[,2])
landmarksA<-bats[2:32,2]

skullsA<-as.numeric (as.matrix (bats[2:32,3:8]))
dim (skullsA) = c(31,6)
rownames(skullsA) = landmarksA

a.sk = bats[bats[,3]!="",3:8]
a.sk = apply(a.sk,2,as.double)
dim (a.sk) = c(31,35,3,2)
a.sk<-aperm (a.sk, c(1,3,4,2),T)
dim (a.sk) = c(31,3,2,35)
rownames(a.sk) = landmarksA


labelZ<-bats1[1,][bats1[1,]!=""]
matrix(labelZ,nrow=3)
labelZ<-matrix(labelZ,nrow=3)
landmarksZ<-bats1[2:14,2]

skullsZ<-as.numeric(as.matrix(bats1[2:14,3:8]))
dim(skullsZ)=c(13,6)
rownames(skullsZ) = landmarksZ

z.sk = bats1[2:14,bats1[2,]!="BA"& bats1[2,]!=""]
z.sk
z.sk = apply(z.sk,2,as.double)#pela dimensao 2 ou coluna
z.sk
dim (z.sk) = c(13,3,2,35)
rownames(z.sk) = landmarksZ

return(list("DadosA"=labelA,
            "VistaA"=a.sk,
            "DadosZ"=labelZ,
            "VistaZ"=z.sk))
} 


input.skulls("bats","bats1")

Página de Ajuda

input.skulls              package:lem_packs                R Documentation

 Description:

Recebe arquivo de dados (extensão csv) contendo informações descritivas, marcadores geométricos (landmarks), e duas réplicas das medidas (x,y,z) das vistas A (anterior) e Z (posterior). Retorna listas contendo os dados e as medidas das vistas A e Z. 


Usage:

      input.skulls(csvA,csvZ)


Arguments:

csvA: Um arquivo de dados de extensão csv, com 35 indivíduos contendo:
1)informações descritivas de cada indivíduo; 
2)os marcadores geométricos, ou landmarks atribuídos por indivíduo; 
3)duas réplicas das medidas (x,y,z) da vista A (anterior).

csvZ: Um arquivo de dados de extensão csv, com 35 indivíduos contendo:
1)informações descritivas de cada indivíduo; 
2)os marcadores geométricos, ou landmarks atribuídos por indivíduo; 
3)duas réplicas das medidas (x,y,z) da vista Z (posterior).


Details:
    
csvA: Os 35 indivíduos estão dispostos verticalmente nessa planilha de dados. Existem células vazias de extensão
padronizada entre um indivíduo e aquele que o precede. Na vista A (anterior) são tomados 31 pontos geométricos de cada indivíduo. Cada landmark é tomado duas vezes, por isso existem duas réplicas (x,y,z) por indivíduo.  
     
csvZ: Os 35 indivíduos estão dispostos horizontalmente nessa planilha de dados. Na vista Z (posterior) são toamdos 13 pontos de cada indivíduo. Esses 35 indivíduos são os mesmos mensurados para a vista A. 
Cada landmark é tomado duas vezes, por isso existem duas réplicas (x,y,z) por indivíduo.  

 
Value:

     Lista

DadosA : Corresponde às informações dos indivíduos medidos para a vista A, sendo possível acessar:
"museu","nºplanilha","nºtombo","gênero","epíteto específico","sexo","localidade","estado","país","obs1","obs2". 

VistaA : Corresponde às 31 medidas (x,y,z) da vista A tomadas para cada indivíduo. São fornecidas sequencialmente a primeira e a segunda réplica das medidas para cada indivíduo, sendo possível visualizar os landamarks na primeira coluna.

DadosZ : Corresponde às informações dos indivíduos medidos para a vista Z, sendo possível acessar:
"nºtombo","nºplanilha","espécie". As demais informações constam em DadosA, uma vez que os indivíduos medidos para a vista A são os mesmos, em ordem, para a vista Z.     

VistaZ : Corresponde às 13 medidas (x,y,z) da vista Z tomadas para cada indivíduo. São fornecidas sequencialmente a primeira e a segunda réplica das medidas para cada indivíduo, sendo possível visualizar os landamarks na primeira coluna.


Warning:

A função não funcionará se o arquivo de dados não estiver no formato padrão de aquisição de dados.
As planilhas bats.csv e bats1.csv, fornecidas ao final da página como exemplo, podem ser usadas como modelo de estruturação dos dados.
Entretanto, modificação na(s) planilha(s) de entrada (como número de indivíduos ou medidas) podem ser facilmente adequadas na função pelo usuário.
  
     
Author(s):

    Daniela M. Rossoni, Guilherme Garcia (Pato), Harley Silva.


Examples:

1) As planilhas bats.csv e bats1.csv, fornecidas abaixo podem ser usadas como exemplo. Respectivamente, refletem as medidas tomadas em vista A e vista Z de indivíduos pertencentes a uma determinada espécie de morcegos da família Phyllostomidae. 
       

2) Após executar a função, istale o pacote "shapes" de morfometria geométrica e dê uma olhada nos landmarks dispostos em 3D, moldando um crânio de morcego da espécie Platyrrhinus lineatus (Família Phyllostomidae). Siga os passos abaixo:

   a) execute a função "input.skulls"
   b) instale o "shapes": install.packages ("shapes", dependencies = TRUE)   
   c) carregue o pacote: require (shapes)
   d)Forneça as informações abaixo e:
 
   shapes3d (a.sk[,,1,1])#visualize os landmarks em 3D no crânio do indivíduo 1, réplica 1  (x,y,z). 
   shapes3d (a.sk[,,,1])#visualize os landmarks em 3D no crânio do indivíduo 1, com as duas réplicas das medidas.

Usar as planilhas abaixo para os exemplos 1 e 2.

bats bats1

Arquivos da Função

05_curso_antigo/r2010/alunos/trabalho_final/daniela.rossoni/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)