Sorteio de n linhas com especificação de variáveis e repetição dos valores calculados nas linhas

Prezados Membros, Segue um exemplo do que estou tentando fazer: #Tenho um banco de dados d com 4 variáveis (State, Amb, Year e rate) library(data.table) d <- fread (" State Amb Year rate GA soil 2015 .4 GA soil 2015 .4 GA soil 2015 .5 GA soil 2015 .2 GA soil 2015 .3 GA soil 2015 NA GA soil 2016 1.0 GA soil 2016 2.0 GA soil 2016 .5 GA soil 2016 1.0 GA veg 2015 .4 GA veg 2015 .4 GA veg 2015 .5 GA veg 2015 .2 GA veg 2015 .3 GA veg 2015 NA GA veg 2016 1.0 GA veg 2016 2.0 GA veg 2016 .5 GA veg 2016 1.0 ") # Gostaria de sortear 5 linhas dentro de cada variável Amb, calcular o desvio padrão da variável rate e repetir os valores obtidos nas linhas envolvidas em uma nova coluna (desv_pad) ao fim cada sorteio, sendo meu output desejado em um sorteio hipotético: State Age Year rate desv_pad 1: GA soil 2015 0.4 0.7549834 2: GA soil 2015 0.4 0.7549834 3: GA soil 2015 0.5 0.3082207 4: GA soil 2015 0.2 0.3082207 5: GA soil 2015 0.3 0.3082207 6: GA soil 2015 NA 0.7549834 7: GA soil 2016 1.0 0.7549834 8: GA soil 2016 2.0 0.7549834 9: GA soil 2016 0.5 0.3082207 10: GA soil 2016 1.0 0.3082207 11: GA veg 2015 0.4 0.580517 12: GA veg 2015 0.8 0.8736895 13: GA veg 2015 0.5 0.580517 14: GA veg 2015 1.5 0.580517 15: GA veg 2015 0.3 0.8736895 16: GA veg 2015 NA 0.8736895 17: GA veg 2016 1.0 0.580517 18: GA veg 2016 NA 0.8736895 19: GA veg 2016 2.0 0.8736895 20: GA veg 2016 1.7 0.580517 Alguém teria uma dica de como resolver isso? Obrigado -- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 99686-6970 (VIVO) (+55) 65 3221-2674 (FIXO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 - ResearcherID: A-5790-2016 Researchgate: www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: br.linkedin.com/in/alexandre-dos-santos-87961635 Mendeley:www.mendeley.com/profiles/alexandre-dos-santos6/ ======================================================================

Olá, Alexandre Tente criar um novo data.frame para o resultado e iterar pelos valores de Amb: Repare que o parâmetro "na.rm = T" do comando sd irá desconsiderar os registros com rate = NA no cálculo do desvio padrão. d$Amb = factor(d$Amb) ambs = levels(d$Amb) resultado = data.frame( State = character() , Amb = character() , Year = integer() , rate = double() , desv_pad = double()) # quantas vezes irá realizar o experimento: # "sortear 5 linhas dentro de cada variável Amb e calcular o desvio padrão da variável rate" repeticoes = 2 for(amb in ambs) { subpopulacao = d[d$Amb == amb] for (i in 1:repeticoes) { amostra = subpopulacao[sample(NROW(subpopulacao), 5),] amostra$desv_pad = sd(amostra$rate, na.rm = T) resultado = rbind(resultado, amostra) } } Atenciosamente, Rodrigo Ângelo On Mon, Nov 5, 2018 at 2:38 PM ASANTOS por (R-br) <r-br@listas.c3sl.ufpr.br> wrote:
Prezados Membros,
Segue um exemplo do que estou tentando fazer:
#Tenho um banco de dados d com 4 variáveis (State, Amb, Year e rate)
library(data.table) d <- fread (" State Amb Year rate GA soil 2015 .4 GA soil 2015 .4 GA soil 2015 .5 GA soil 2015 .2 GA soil 2015 .3 GA soil 2015 NA GA soil 2016 1.0 GA soil 2016 2.0 GA soil 2016 .5 GA soil 2016 1.0 GA veg 2015 .4 GA veg 2015 .4 GA veg 2015 .5 GA veg 2015 .2 GA veg 2015 .3 GA veg 2015 NA GA veg 2016 1.0 GA veg 2016 2.0 GA veg 2016 .5 GA veg 2016 1.0 ") #
Gostaria de sortear 5 linhas dentro de cada variável Amb, calcular o desvio padrão da variável rate e repetir os valores obtidos nas linhas envolvidas em uma nova coluna (desv_pad) ao fim cada sorteio, sendo meu output desejado em um sorteio hipotético:
State Age Year rate desv_pad 1: GA soil 2015 0.4 0.7549834 2: GA soil 2015 0.4 0.7549834 3: GA soil 2015 0.5 0.3082207 4: GA soil 2015 0.2 0.3082207 5: GA soil 2015 0.3 0.3082207 6: GA soil 2015 NA 0.7549834 7: GA soil 2016 1.0 0.7549834 8: GA soil 2016 2.0 0.7549834 9: GA soil 2016 0.5 0.3082207 10: GA soil 2016 1.0 0.3082207 11: GA veg 2015 0.4 0.580517 12: GA veg 2015 0.8 0.8736895 13: GA veg 2015 0.5 0.580517 14: GA veg 2015 1.5 0.580517 15: GA veg 2015 0.3 0.8736895 16: GA veg 2015 NA 0.8736895 17: GA veg 2016 1.0 0.580517 18: GA veg 2016 NA 0.8736895 19: GA veg 2016 2.0 0.8736895 20: GA veg 2016 1.7 0.580517
Alguém teria uma dica de como resolver isso?
Obrigado
-- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 99686-6970 <+55%2065%2099686-6970> (VIVO) (+55) 65 3221-2674 <+55%2065%203221-2674> (FIXO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 - ResearcherID: A-5790-2016 Researchgate: www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: br.linkedin.com/in/alexandre-dos-santos-87961635 Mendeley:www.mendeley.com/profiles/alexandre-dos-santos6/ ======================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e fornea cdigo mnimo reproduzvel.

Muito obrigado, problema resolvido!!! -- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 99686-6970 (VIVO) (+55) 65 3221-2674 (FIXO) e-mails:alexandresantosbr@yahoo.com.br alexandre.santos@cas.ifmt.edu.br Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 - ResearcherID: A-5790-2016 Researchgate: www.researchgate.net/profile/Alexandre_Santos10 LinkedIn: br.linkedin.com/in/alexandre-dos-santos-87961635 Mendeley:www.mendeley.com/profiles/alexandre-dos-santos6/ ====================================================================== Em 05/11/2018 16:07, Rodrigo Ângelo escreveu:
Olá, Alexandre
Tente criar um novo data.frame para o resultado e iterar pelos valores de Amb:
Repare que o parâmetro "na.rm = T" do comando sd irá desconsiderar os registros com rate = NA no cálculo do desvio padrão.
d$Amb = factor(d$Amb) ambs = levels(d$Amb)
resultado = data.frame( State = character() , Amb = character() , Year = integer() , rate = double() , desv_pad = double())
# quantas vezes irá realizar o experimento: # "sortear 5 linhas dentro de cada variável Amb e calcular o desvio padrão da variável rate" repeticoes = 2
for(amb in ambs) { subpopulacao = d[d$Amb == amb] for (i in 1:repeticoes) { amostra = subpopulacao[sample(NROW(subpopulacao), 5),] amostra$desv_pad = sd(amostra$rate, na.rm = T) resultado = rbind(resultado, amostra) } }
Atenciosamente, Rodrigo Ângelo
On Mon, Nov 5, 2018 at 2:38 PM ASANTOS por (R-br) <r-br@listas.c3sl.ufpr.br <mailto:r-br@listas.c3sl.ufpr.br>> wrote:
Prezados Membros,
Segue um exemplo do que estou tentando fazer:
#Tenho um banco de dados d com 4 variáveis (State, Amb, Year e rate)
library(data.table) d <- fread (" State Amb Year rate GA soil 2015 .4 GA soil 2015 .4 GA soil 2015 .5 GA soil 2015 .2 GA soil 2015 .3 GA soil 2015 NA GA soil 2016 1.0 GA soil 2016 2.0 GA soil 2016 .5 GA soil 2016 1.0 GA veg 2015 .4 GA veg 2015 .4 GA veg 2015 .5 GA veg 2015 .2 GA veg 2015 .3 GA veg 2015 NA GA veg 2016 1.0 GA veg 2016 2.0 GA veg 2016 .5 GA veg 2016 1.0 ") #
Gostaria de sortear 5 linhas dentro de cada variável Amb, calcular o desvio padrão da variável rate e repetir os valores obtidos nas linhas envolvidas em uma nova coluna (desv_pad) ao fim cada sorteio, sendo meu output desejado em um sorteio hipotético:
State Age Year rate desv_pad 1: GA soil 2015 0.4 0.7549834 2: GA soil 2015 0.4 0.7549834 3: GA soil 2015 0.5 0.3082207 4: GA soil 2015 0.2 0.3082207 5: GA soil 2015 0.3 0.3082207 6: GA soil 2015 NA 0.7549834 7: GA soil 2016 1.0 0.7549834 8: GA soil 2016 2.0 0.7549834 9: GA soil 2016 0.5 0.3082207 10: GA soil 2016 1.0 0.3082207 11: GA veg 2015 0.4 0.580517 12: GA veg 2015 0.8 0.8736895 13: GA veg 2015 0.5 0.580517 14: GA veg 2015 1.5 0.580517 15: GA veg 2015 0.3 0.8736895 16: GA veg 2015 NA 0.8736895 17: GA veg 2016 1.0 0.580517 18: GA veg 2016 NA 0.8736895 19: GA veg 2016 2.0 0.8736895 20: GA veg 2016 1.7 0.580517
Alguém teria uma dica de como resolver isso?
Obrigado
-- ====================================================================== Alexandre dos Santos Proteção Florestal IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso Campus Cáceres Caixa Postal 244 Avenida dos Ramires, s/n Bairro: Distrito Industrial Cáceres - MT CEP: 78.200-000 Fone: (+55) 65 99686-6970 <tel:+55%2065%2099686-6970> (VIVO) (+55) 65 3221-2674 <tel:+55%2065%203221-2674> (FIXO) e-mails:alexandresantosbr@yahoo.com.br <mailto:e-mails%3Aalexandresantosbr@yahoo.com.br> alexandre.santos@cas.ifmt.edu.br <mailto:alexandre.santos@cas.ifmt.edu.br> Lattes: http://lattes.cnpq.br/1360403201088680 OrcID: orcid.org/0000-0001-8232-6722 <http://orcid.org/0000-0001-8232-6722> - ResearcherID: A-5790-2016 Researchgate: www.researchgate.net/profile/Alexandre_Santos10 <http://www.researchgate.net/profile/Alexandre_Santos10> LinkedIn: br.linkedin.com/in/alexandre-dos-santos-87961635 <http://br.linkedin.com/in/alexandre-dos-santos-87961635> Mendeley:www.mendeley.com/profiles/alexandre-dos-santos6/ <http://www.mendeley.com/profiles/alexandre-dos-santos6/> ======================================================================
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br <mailto:R-br@listas.c3sl.ufpr.br> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e fornea cdigo mnimo reproduzvel.
participantes (2)
-
ASANTOS
-
Rodrigo Ângelo