modifica dataframe

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] =============================================

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@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@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)

Não sei pra que colar esse negócio grotesco aqui, mas a primeira forma que me veio à cabeça foi essa: bleh <- function(x) {unique(c(seq(0, x, by = 0.5), x))} data.frame(lapply(dados, rep, unlist(lapply(sapply(dados$ht, bleh), length))), hi = unlist(sapply(dados$ht, bleh))) 2011/5/31 Benilton Carvalho <beniltoncarvalho@gmail.com>
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@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@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)
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

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@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@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

Obrigado caros pela gentileza de sempre. Vou verificar as sugestões []'s Samuel ==================================== Samuel P. C. Carvalho Mestre em Ciências Florestais [UFLA] Doutorando em Recursos Florestais [ESALQ/USP] ============================================= ________________________________ De: Henrique Dallazuanna <wwwhsd@gmail.com> Para: r-br@listas.c3sl.ufpr.br; Samuel Carvalho <samukajm@yahoo.com.br> Enviadas: Terça-feira, 31 de Maio de 2011 23:10 Assunto: Re: [R-br] modifica dataframe 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@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@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

é 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@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@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

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@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@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@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@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

Continuando a saga Dallazuanna sua resposta pode ser escrita em uma linha, apenas encapisulando o x..... Como diz o Walmes, "Homen de uma linha só...." Isso ai... Em 1 de junho de 2011 12:12, Gustavo Henrique de Carvalho < gustavo.bio@gmail.com> escreveu:
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@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@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@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@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br

é que ainda tô em hotel...rs 2011/6/1 Paulo Justiniano <paulojus@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@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@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@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
participantes (6)
-
Benilton Carvalho
-
Eder David Borges da Silva
-
Gustavo Henrique de Carvalho
-
Henrique Dallazuanna
-
Paulo Justiniano
-
Samuel Carvalho