
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 ///\\\///\\\///\\\///\\\///\\\///\\\///\\\///\\\