[R-br] modifica dataframe

Gustavo Henrique de Carvalho gustavo.bio em gmail.com
Quarta Junho 1 12:12:55 BRT 2011


Hehehe, o único problema com a forma que o Henrique postou é que com
ela a última observação do hi não é igual ao ht quanto esse não é
divisível por 0.5.

2011/6/1 Paulo Justiniano <paulojus em leg.ufpr.br>:
> é Benilton vc estava certo... pode até tardar, mas não falha!
> Mesmo de casa nova..... não deixa passar
>
> abracos
>
> On Tue, 31 May 2011, Henrique Dallazuanna wrote:
>
>> Samuel,
>> Tente assim tbm:
>>
>> x <- sapply(dados$ht, seq, from = 0, by = 0.5)
>> transform(dados[rep(seq(nrow(dados)), times = sapply(x, length)),], hi =
>> unlist(x))
>>
>> 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
>>
>>
>>
>>
>> --
>> Henrique Dallazuanna
>> Curitiba-Paraná-Brasil
>> 25° 25' 40" S 49° 16' 22" O
>>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>


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