<div dir="ltr">utilize um laço, <br>o comando for ou while resolvem, dependendo do que você deseje fazer<br></div><div class="gmail_extra"><br clear="all"><div>Tito Conte<br><br></div>
<br><br><div class="gmail_quote">2013/7/8 Roberto Guevara <span dir="ltr"><<a href="mailto:robertoguevara.bio@gmail.com" target="_blank">robertoguevara.bio@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Olá pessoal do R-br.<br>
<br>
Meus dados consistem basicamente em coordenadas e o horário em que<br>
cada ponto foi obtido, como exemplificado a seguir:<br>
<br>
obs dia min x y<br>
1 1 400 425 475<br>
2 1 410 425 425<br>
3 <a href="tel:1%20%20%20%20420%20%20475%20325" value="+551420475325">1 420 475 325</a><br>
4 <a href="tel:1%20%20%20%20430%20%20525%20325" value="+551430525325">1 430 525 325</a><br>
5 1 435 525 275<br>
6 1 443 525 275<br>
<br>
obs se refere a cada unidade de amostra, dia a cada dia de coleta (um<br>
total de 73), min é o horário em unidades de minutos e x e y cada<br>
elemento do ponto cartesiano.<br>
<br>
O que preciso obter desses dados é a distribuição de distâncias<br>
euclidianas entre um ponto escolhido aleatoriamente e todos os pontos<br>
seguintes de um mesmo dia. Ou seja, preciso escolher aleatoriamente um<br>
ponto por dia, calcular, para todos os dias, a euclidiana entre este<br>
ponto e todos os pontos posteriores do mesmo dia e relacionar a<br>
distância espacial com a diferença de tempo entre os pontos e o dia em<br>
que cada distância está associada.<br>
<br>
Eu já elaborei um código pra isso. Caso tenham sugestões para melhorar<br>
o código, ficarei agradecido. Porém, não consigo passar para uma<br>
próxima etapa. Como poderia fazer para repetir esse procedimento o<br>
número de vezes que fosse necessário? Por exemplo, existem milhares de<br>
combinações de pontos escolhidos aleatoriamente ao longo dos 73 dias.<br>
Eu gostaria de repetir o procedimento 1000 vezes para ter uma ideia da<br>
variação de distribuição de distâncias que posso obter em decorrência<br>
da escolha aleatória de um ponto de origem por dia.<br>
<br>
Código já elaborado:<br>
<br>
arquivo<-read.table("arquivo.txt",head=T)<br>
<br>
fixo<-numeric() #vetor com origens de cada dia<br>
ult<-numeric() #vetor com últimos pontos de cada dia<br>
xy<-list() #lista para armazenar a "parte dos pontos de cada dia"<br>
delimitadas por fixo e ult<br>
hor<-list() #lista para armazenar a "parte dos horarios de cada dia"<br>
delimitadas por fixo e ult<br>
distancias<-list()#distancias euclidianas<br>
tempo<-list()#diferença de tempo entre os pontos<br>
dia<-list()#dia de coleta<br>
for (i in 1:max(unique(arquivo$dia))){ #repetindo até o total de dias<br>
fixo[i]<-sample(arquivo$obs[arquivo$dia==i],1)#sorteio ponto de origem<br>
ult[i]<-max(arquivo$obs[arquivo$dia==i])#armazenando último ponto de cada dia<br>
xy[[i]]<-arquivo[fixo[i]:ult[i],4:5]#armazenando parte dos pontos de cada dia<br>
hor[[i]]<-arquivo[fixo[i]:ult[i],6]#armazenando parte dos horários de cada dia<br>
distancias[[i]]<-dist(xy[[i]])[1:nrow(xy[[i]])-1]#somente as<br>
distâncias em relação ao primeiro ponto interessam<br>
tempo[[i]]<-dist(horarios[[i]])[1:length(horarios[[i]])-1]#somente<br>
diferenças ao primeiro ponto<br>
dia[[i]]<-rep(i,length(arquivo$dia[fixo[i]:ult[i]])-1)$cada dia de coleta<br>
}<br>
<br>
distancias<-unlist(distancias)<br>
tempo<-unlist(tempo)<br>
dia<-unlist(dia)<br>
<br>
dtd<-data.frame(distancias,tempo,dia)<br>
<br>
Este data.frame seria como uma unidade de amostra das milhares de<br>
distribuições que são possíveis de obter. Como otimizar para que<br>
qualquer número desejado não seja dispendioso de obter?<br>
<br>
Obrigado pela atenção<br>
<br>
--<br>
Roberto Guevara Ferreira Lima<br>
<br>
Biólogo - CRBio 6ª Região: 73146/06-D<br>
Mestre em Zoologia<br>
Laboratório de Ecologia e Zoologia de Vertebrados<br>
Instituto de Ciências Biológicas<br>
Universidade Federal do Pará<br>
Rua Augusto Corrêa, nº 01 - Bairro: Guamá. CEP: 66075-110<br>
Currículo Lattes: <a href="http://lattes.cnpq.br/7363382159007600" target="_blank">http://lattes.cnpq.br/7363382159007600</a><br>
_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br>
</blockquote></div><br></div>