Negativo Fernando, isto não é exercício de classe! É uma ideia que estou batalhando para implementar para semana nacional de ciência e tecnologia com alunos do ensino médio (técnico em informática) conhecer o R, saber sobre amostragem com ou sem reposição e claro sobre estatística. Obrigado pela contribuição. André Oliveira Souza. Graduação em Matemática, mestrado em estatística aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espirito Santo. IFES
Em Quinta-feira, 28 de Setembro de 2017 16:45, Fernando Souza <nandodeso...@gmail.com> escreveu: Uma solução. O comando retorna um dataframe contendo uma coluna com as médias e outra com os desvios. A partir daí fazer os graficos fica a seu sabor. populacao <- rchisq(100000, df = 10)tamanhoAmostra <- c(6,14,16,18,20) ##x:dados a serem amostrados##n= tamanho da amostra##r =número de repetições. deve ser um valor inteiroamostra <- function(x,n,r){ a <- list() ##guarda as amostras rptn <- list() ##guarda a repetição da amostragem for(i in 1:length(n)){ z <- 1 while(z <= r){ rptn[[z]] <- sample(x,size = n[i]) names(rptn)[z] <- paste0("repetição",z) z = z + 1 } a[,i] <- rptn } return(a) }amostrados <- amostra(populacao,tamanhoAmostra,2) #install.packages("plyr")library(plyr) resultado <- ldply (amostrados,function(x){ media <- mean(c(x$repetição1,x$repetição2)) desvio <- sd(c(x$repetição1,x$repetição2)) resposta <- data.frame(media,desvio) return(resposta) }) ##você pode converter o dataframe para matrixas.matrix(resultado) Em 28 de setembro de 2017 15:45, FHRB Toledo via R-br <r-br@listas.c3sl.ufpr.br> escreveu: Isso tem bastante cara de um exercício de classe. De qualquer forma, segue uma versão funcionando que se aproxima muito da sua explicação: > library(plyr) > library(ggplot2) > R <- 1E4 # tamanho da populacao > S <- 1E3 # quantidade de amostras > T <- 2:50 # tamanho das amostras > names(T) <- T # nomeando vetor > pop <- rnorm(R) # populacao > ## cavalor de forca... : gera os dados > sampler <- function(t, s, p) ldply(t, .id = 'size', function(ts) t(sapply(lapply(1:S, function(ss) sample(x = p, size = t, replace = TRUE)), function(x) c(mu = mean(x), sigma = sd(x))))) > ## resume por tamanho de amostras > dados <- mutate(ddply(sampler(T, S, pop), .(size), summarize, muBar = mean(mu), sigmaBar = mean(sigma)), size = as.numeric(as.character(size)) ) > ## media das medias > ggplot(dados, mapping = aes(x = size, y = muBar)) + geom_point() > ## media dos desvios > ggplot(dados, mapping = aes(x = size, y = sigmaBar)) + geom_point() Vale a pena revisar e testar tudo novamente, sobre as saídas como matriz, deixo isso para suas adaptações. att, FH 2017-09-27 19:24 GMT-05:00 Andre Oliveira via R-br <r-br@listas.c3sl.ufpr.br>: Vou tentar explicar melhor! " para cada tam repetir nam (vezes)" Seria repetir as amostragens: amostras de 2 em 2 um número k vezes. (Teria aqui k desvios-padrão e k medias). salvar media dos desvios e media das media! amostras de 3 em 3 um número k vezes. (Teria aqui k desvios-padrão e k medias). salvar media dos desvios e media das media! amostras de 4 em 4 um número k vezes. (Teria aqui k desvios-padrão e k medias). salvar media dos desvios e media das media! .............................. .............................. .............................. .............................. .............................. .............................. .................... amostras de j em j um número k vezes. (Teria aqui k desvios-padrão e k medias). salvar media dos desvios e media das media! Plotar os vetores salvos! André Oliveira Souza. Graduação em Matemática, mestrado em estatística aplicada.Instituto Federal de Educação, Ciência e Tecnologia do Espirito Santo. IFES Em Quarta-feira, 27 de Setembro de 2017 15:02, Fernando Souza <nandodeso...@gmail.com> escreveu: Acredito que isso deva te ajudar. Não entendi muito bem o que quis dizer com " para cada tam repetir nam (vezes)" , por isso o código abaixo não faz nenhuma repetição dos valores amostrados , porém acredito que é fácil de ajustar. populacao <- rchisq(100000, df = 10)tamanho <- c(6,14,16,18,20) # diferentes tamanhos para amostrar amostra <- function(x,n){ a <- list() for(i in 1:length(n)){ a[[i]] <- sample(x,size = n[i]) } return(a) }amostrados <- amostra(populacao,tamanho) #install.packages("plyr")library(plyr) resultado <- ldply (amostrados,function(x){ media <- mean(x) desvio <- sd(x) resposta <- data.frame(media,desvio) return(resposta) }) ##você pode converter o dataframe para matrixas.matrix(resultado) Em 26 de setembro de 2017 22:42, Andre Oliveira via R-br <r-br@listas.c3sl.ufpr.br> escreveu: Boa noite,preciso de amostrar em um vetor de nome populacao amostras de tamanho n, com n variando de tamanhos [2; tam] e para cada tam repetir nam (vezes) e assim pegar a estimativas de media e dos desvios -padrão das amostras. Para cada amostra obtida extrair desvio padrão, média e guardar em uma matriz com vazia com NAs! Ao final plotar a média dos desvios e a media das medias em função de cada n. Tentei fazer, mas sem sucesso! Caso alguém pude ajudar ficarei grato! ############################## ############################## ######################### n=10 populacao <- rchisq(100000, df = n) mu=n s=sqrt(2*n) mu s par(mfrow = c(1, 3)) hist(populacao, prob=T, main="Y ~ Quiquadrado(GL=10)",xlab=" ", yla="Densidade",col=" limegreen") amostragem<-function( populacao, tam, nam) { SD<-NULL media<-NULL X <-matrix(NA, tam, 2) { for(i in 2:nam) amostra<-sample(populacao,tam) SD[i]=sd(amostra) media[i]<-mean(amostra) X[i,] <- c(mean(SD), mean(media)) } print(cbind(mean(SD),mean( media)) print(X) plot.ts(SD, pch=19, type = "p", xlab="Número de folhas amostrada", ylab="Estimativa da Variabiliade", lty=2,xaxp=c(0,150,10)) plot.ts(media, pch=19, type = "p", xlab="Número de folhas amostrada", ylab="Estimativa da média", lty=2,xaxp=c(0,150,10)) } amostragem(populacao, 150, 50000) ############################# ############################## ############################## ## obg ______________________________ _________________ 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 forneça código mínimo reproduzível. -- ============================== =========== Fernando Souza Zootecnista, DSc. Produção e Alimentação Animal Celular: (31)99796-8781 (Vivo) E-mail:nandodeso...@gmail.com Lattes: http://lattes.cnpq.br/65195388 15038307 Blog: https://producaoanimalcomr.wor dpress.com/ ============================== ============ ______________________________ _________________ 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-g uia) e forneça código mínimo reproduzível. ______________________________ _________________ 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 forneça código mínimo reproduzível. -- ========================================= Fernando Souza Zootecnista, DSc. Produção e Alimentação Animal Celular: (31)99796-8781 (Vivo) E-mail:nandodeso...@gmail.com Lattes: http://lattes.cnpq.br/6519538815038307 Blog: https://producaoanimalcomr.wordpress.com/ ==========================================
_______________________________________________ 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 forne�a c�digo m�nimo reproduz�vel.