
Prezados, Pretendo simular um experimento em quadrados latinos no R. Como devo proceder??? Edmundo Caetano

Bem, praticamente da mesma forma que simulamos outros experimentos. Ontem respondi para o Ivan e simulei um glm poisson fatorial. É só fazer as devidas modificações. Todas as vezes que eu coloco experimentos simulados na lista eu chamo o objeto de "da", enfim, sempre faço isso da <- expand.grid( então procura mensagem na lista, pelo nabble, com esse termo que você verá como simular de um experimento, tendo assim, condições de estender para o seu caso. À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Pessoal, Estou trabalhando num projeto onde dados sobre as amostras são enviadas ao meu "cliente", ou seja a pessoa que estou assessorando :-) somente de forma "agregada" ou seja ao invés de enviarem uma planilha onde eu possa importar no R e trivialmente fazer:
t.test(var1, var2)
Eu tenho apenas as informações sobre as médias, desvios padrão e número de casos para cada variável. Eu sei que há outros pacotes de SW que têm isso inato, como por exemplo o .ttesti no Stata, mas procurando por algo equivalente no R:
RSiteSearch("agregate data t-test") Uma pesquisa foi submetida para http://search.r-project.org A página de resultados deverá abrir no seu navegador em breve
Retorna: <quote> References: views: [ agregate: 0 ] [ data: 30 ] [ t-test: 1 ] [ TOTAL: 0 ] vignettes: [ agregate: 0 ] [ data: 1549 ] [ t-test: 66 ] [ TOTAL: 0 ] functions: [ agregate: 2 ] [ data (Too many documents hit. Ignored) ] [ t-test: 317 ] [ TOTAL: 0 ] No document matching your query. </quote> Tem algum outro nome para "dados agregados" para eu procurar ou vou ter que escrever uma funçãozinha eu mesmo para fazer esses testes? []s -- Cesar Rabak GNU/Linux User 52247. Get counted: http://counter.li.org/

Escreva a funçãozinha que depende apenas dessas estatísticas suficientes. Não é difícil não. À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Em 10/5/2012 16:26, Walmes Zeviani escreveu:
Escreva a funçãozinha que depende apenas dessas estatísticas suficientes. Não é difícil não.
Pulei a escrita da função e estou fazendo "na mão"... Na hora que você começa a escrever a função você vê que tem de estabelecer como os argumentos serão passados, etc., que para meu caso acabo deixando num script... Grato, -- Cesar Rabak GNU/Linux User 52247. Get counted: http://counter.li.org/

Ok, pessoAll, caso interesse a mais algum useR, no melhor estilo das qualidades que um programador deve ter segundo Larry Wall¹, o pacote BSDA contém a função tsum.test que faz isso e mais... HTH mesmo por ora ter sido de meu interesse! []s -- Cesar Rabak GNU/Linux User 52247. Get counted: http://counter.li.org/ [1] http://c2.com/cgi/wiki?LazinessImpatienceHubris

Edmundo, Em adição ao que o Walmes falou, creio que isso dependerá de conhecimento das operações matriciais envolvidas em cada delineamento. Para DQL não tenho pronto. Tenho para DIC, DBC e Fatorial. Vou exemplificar com DBC e você poderá adaptar para DQL (com as matrizes adequadas). Uso para simular experimentos nas provas individuais para os alunos resolverem em casa. O experimento será gravado em um arquivo (DBC.txt no exemplo) com um número variáveis de resposta (Y) igual ao comprimento do vetor "mat". #============================================================================= # Função para gerar DBC - Delineamento em Blocos ao Acaso #============================================================================= ger.dbc <- function(mu, sd, mat, Xblo, Eblo, Xtra, Etra, file) { stopifnot(mat == NULL, mu == NULL, sd == NULL, Xblo == NULL, Eblo == NULL, Xtra == NULL, Etra == NULL, ncol(Xblo) == nrow(Eblo), ncol(Xtra) == nrow(Etra)) # Gerar matrix experimental l.tra <- gl(n=ncol(Xtra), k=nrow(Xtra)/ncol(Xtra), labels=LETTERS[1:ncol(Xtra)]) blo <- paste('B', 1:(nrow(Xtra)/ncol(Xtra)), sep='') me <- data.frame(tra=l.tra, blo=blo) bl <- Xblo %*% Eblo # gerar efeito de bloco tr <- Xtra %*% Etra # gerar efeito de tratamento # Modelar experimento m <- NULL for(i in 1:length(mat)) { set.seed(mat[i]) e <- rnorm(nrow(Xtra), sd=sd) # gerar erro aleatório <-> aluno y.al <- round(mu + bl + tr + e, 2) # definir y m <- cbind(m, y.al) # acumular } colnames(m) <- mat # Gerar resultado final (data.frame) dfm <- cbind(me, m) # Gravar dados para serem usados na análise write.table(dfm, file=file, quote=FALSE, row.names=FALSE) return(dfm) } mat <- c(20121, 20122) # o vetor mat. vc pode colocar os números que quiser... #============================================================================= # Dados necessários para gerar o DBC e chamada a função "ger.dbc" #============================================================================= dbc1 <- ger.dbc( file='DBC.txt', mu=10, sd=3, mat, Xblo=matrix(c( # 1 2 3 4 # Incidência dos blocos 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), byrow=T, ncol=4), Eblo=matrix(c(4, 2, 1, 4), byrow=T, ncol=1), Xtra=matrix(c( # A B C D E (tr) 1, 0, 0, 0, 0, # Incidência dos tratamentos 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1), byrow=T, ncol=5), Etra=matrix(c(2, 5, 5, 4, 4), byrow=T, ncol=1)) Rode o código acima no seu R! Em seguida digite no console:
getwd() # para ver onde o arquivo DBC.txt foi gravado dir() para ver os arquivos existente na pasta de trabalho do R. Deverá ver o DBC.txt file.show('DBC.txt')
Ab, -- ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\ Jose Claudio Faria Estatistica UESC/DCET/Brasil joseclaudio.faria at gmail.com ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\

JCF, Você pode usar o que já está disponível na agricolae, no caso a função design.lsd() para gerar o delineamento. São funções eu recomendo os usuários aplicarem para fazer o sorteio dos níveis dos fatores às unidades experimentais. A partir dele você obtém a matriz do delineamento e daí o resto todo, require(agricolae) help(design.lsd, help_type="html") varieties <- c("perricholi","yungay","maria bonita","tomasa") lsd <- design.lsd(varieties, seed=23) lsd str(lsd) X <- model.matrix(~row+col+varieties, data=lsd) dim(X) colnames(X) betas <- runif(ncol(X)) # use os valores paramétricos aqui lsd$Ey <- X%*%betas # valor esperado de y lsd$y <- rnorm(nrow(X), mean=lsd$Ey, sd=1) # realização de y plot(y~varieties, lsd) À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

W, Sua abordagem simplifica bastante! Obrigado, vou dar uma olhada com calma. Ab, -- ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\ Jose Claudio Faria Estatistica UESC/DCET/Brasil joseclaudio.faria at gmail.com ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\ Em 10 de maio de 2012 23:44, Walmes Zeviani <walmeszeviani@gmail.com> escreveu:
JCF,
Você pode usar o que já está disponível na agricolae, no caso a função design.lsd() para gerar o delineamento. São funções eu recomendo os usuários aplicarem para fazer o sorteio dos níveis dos fatores às unidades experimentais. A partir dele você obtém a matriz do delineamento e daí o resto todo,
require(agricolae) help(design.lsd, help_type="html")
varieties <- c("perricholi","yungay","maria bonita","tomasa") lsd <- design.lsd(varieties, seed=23) lsd str(lsd)
X <- model.matrix(~row+col+varieties, data=lsd) dim(X) colnames(X) betas <- runif(ncol(X)) # use os valores paramétricos aqui lsd$Ey <- X%*%betas # valor esperado de y lsd$y <- rnorm(nrow(X), mean=lsd$Ey, sd=1) # realização de y plot(y~varieties, lsd)
À disposição. Walmes.
========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
_______________________________________________ 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.
participantes (4)
-
Cesar Rabak
-
Edmundo Caetano
-
Jose Claudio Faria
-
Walmes Zeviani