Total de visualizações de página

sábado, 26 de abril de 2014

Pacote "tcltk"

Chega de problemas para os usuários do R, o programador poderá adicionar a parte gráfica em seus algoritmos e facilitar a vida para o usuário. Veja exemplo abaixo.

#############################################################
require(tcltk)
mydialog <- function(){
 
  xvar <- tclVar("")
  yvar <- tclVar("")
  zvar <- tclVar("")
 
  tt <- tktoplevel()
  tkwm.title(tt,"Meu programa")
  x.entry <- tkentry(tt, textvariable=xvar)
  y.entry <- tkentry(tt, textvariable=yvar)
  z.entry <- tkentry(tt, textvariable=zvar)
 
  reset <- function() {
    tclvalue(xvar)<-""
    tclvalue(yvar)<-""
    tclvalue(zvar)<-""
  }
 
  reset.but <- tkbutton(tt, text="Apagar", command=reset)
 
  submit <- function() {
    x <- as.numeric(tclvalue(xvar))
    y <- as.numeric(tclvalue(yvar))
    z <- as.numeric(tclvalue(zvar))
    tkmessageBox(message=paste("x + y + z = ", x+y+z, ""))
  }
  submit.but <- tkbutton(tt, text="Somar", command=submit)
 
  quit.but <- tkbutton(tt, text = "Fechar sessão!",
                       command = function() {
                         q(save = "Não")
                         tkdestroy(tt)
                       }
  )
 
  tkgrid(tklabel(tt,text="Coloque suas variáveis.."),columnspan=3, pady = 10)
  tkgrid(tklabel(tt,text="variável x"), x.entry, pady= 10, padx= 10)
  tkgrid(tklabel(tt,text="variável y"), y.entry, pady= 10, padx= 10)
  tkgrid(tklabel(tt,text="variável z"), z.entry, pady= 10, padx= 10)
  tkgrid(submit.but, reset.but, quit.but, pady= 10, padx= 10)
 
}

mydialog()


##############################################################
Fonte: R-bloggers

quarta-feira, 23 de abril de 2014

Como obter resultados da anava da função AOV() ou lm()

Uma situação muito comum no R, é quando precisamos chamar resultados da análise de variância da função aov() ou lm() do R. Um exemplo claro, quando estamos fazendo um teste de comparação múltipla após a ANAVA, e estamos necessitando do quadrado médio do resíduo, como chamá-lo, a partir das funções aov() ou lm()? Veremos abaixo.

####################################
Funções
####################################
 
> #ANAVA:
> anava <-lm(PROD~TRAT+BLOCO,data=dados)
> anava <-anova(anava);anava
 
Analysis of Variance Table

Response: PROD
          Df Sum Sq Mean Sq F value   Pr(>F)   
TRAT       3 4.3820 1.46068  8.4706 0.001572 **
BLOCO      5 2.7590 0.55179  3.1999 0.036559 * 
Residuals 15 2.5866 0.17244                    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 
> names(anava)
[1] "Df"      "Sum Sq"  "Mean Sq" "F value" "Pr(>F)" 

A partir daqui, o objeto anava está pronto como uma lista. Dessa forma podemos obter os resultadosda análise de variância da seguinte forma: 
 
  • Grau de liberdade:
     > anava$"Df"[1:3]
    [1]  3  5 15
  • Soma de quadrado: 
    > anava$"Sum Sq"[1:3]
    [1] 4.382033 2.758950 2.586617  
  • Quadrado médio: 
    > anava$"Mean Sq"[1:3]
    [1] 1.4606778 0.5517900 0.1724411
Caso queira só acessar o quadrado médio do resíduo:


> anava$"Mean Sq"[3]
[1] 0.1724411
 
 
Até a próxima!!!