[R-br] modifica dataframe

Benilton Carvalho beniltoncarvalho em gmail.com
Terça Maio 31 20:28:19 BRT 2011


enqto o henrique nao responde, algo como o seguinte pode lhe servir:

hi = mapply(seq, 0.1, dados[['ht']], .5)
idx = mapply(rep, 1:length(hi), sapply(hi, length))
dados2 = cbind(dados[unlist(idx),], hi=unlist(hi))

b

2011/5/31 Samuel Carvalho <samukajm em yahoo.com.br>

> Boa noite caros(a) senhores(as) membros
> Por gentileza alguém poderia me auxliar em um código que a princípio parece
> ser simples mas nao consegui uma solução
> Abaixo mostro o codigo e a seguir venho comentando
> ### Codigo R
> dados<-data.frame(idfuste=seq(1,5), dap=c(8.5, 11.0, 10.5, 17.5, 12.5),
> ht=c(10, 13, 12.5, 18, 14))
> dados
> dados$hi<-seq(0.1, dados$ht, by=0.5)
> ###
> O que preciso é gerar uma sequencia para cada "idfuste" de 0.1 até a "ht"
> que corresponde aquele "idfuste", replicando também cada observação
> para cada "idfuste". A sequencia é de 0.5 em 0.5 até a altura total da
> árvore - 1 pois esta pode nao ser um número inteiro dividido por 0.5 sendo
> que a ultima observação de cada idfuste deve ser igual ao valor de ht
> Em resumo queria um data.frame de saída a partir dos dados de entrada,
> nesta estrutura
>
>  idfuste dap ht hi  1 8,5 10 0  1 8,5 10 0,5  1 8,5 10 1  1 8,5 10 1,5  1
> 8,5 10 2  1 8,5 10 2,5  1 8,5 10 3  1 8,5 10 3,5  1 8,5 10 4  1 8,5 10 4,5
> 1 8,5 10 5  1 8,5 10 5,5  1 8,5 10 6  1 8,5 10 6,5  1 8,5 10 7  1 8,5 10
> 7,5  1 8,5 10 8  1 8,5 10 8,5  1 8,5 10 9  1 8,5 10 9,5  1 8,5 10 10  2 11
> 13,2 0  2 11 13,2 0,5  2 11 13,2 1  2 11 13,2 1,5  2 11 13,2 2  2 11 13,2
> 2,5  2 11 13,2 3  2 11 13,2 3,5  2 11 13,2 4  2 11 13,2 4,5  2 11 13,2 5
> 2 11 13,2 5,5  2 11 13,2 6  2 11 13,2 6,5  2 11 13,2 7  2 11 13,2 7,5  2
> 11 13,2 8  2 11 13,2 8,5  2 11 13,2 9  2 11 13,2 9,5  2 11 13,2 10  2 11
> 13,2 10,5  2 11 13,2 11  2 11 13,2 11,5  2 11 13,2 12  2 11 13,2 12,5  2
> 11 13,2 13  2 11 13,2 13,2
>
> e assim por diante para todos idfustes
> Desde já agradeço
> Para quem é da area florestal estou tentando estruturar uma base de cubagem
> a partir de dados de parcelas
> Abraço e boa noite a todos
> Att,
> Samuel
>
> *====================================*
> *Samuel P. C. Carvalho
> *Mestre em Ciências Florestais [UFLA]
> Doutorando em Recursos Florestais [ESALQ/USP]
> =============================================
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>


-- 
Successful people ask better questions, and as a result, they get better
answers. (Tony Robbins)
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110601/6f0a6d58/attachment.html>


Mais detalhes sobre a lista de discussão R-br