Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
ridiculas [2011/08/13 08:09]
jcfaria [.Rprofile no linux]
ridiculas [2012/10/25 15:45] (atual)
walmes [section 8]
Linha 1: Linha 1:
  
-===== Ridículas ​- dicas curtas sobre R =====+===== R-idículas ​- dicas curtas sobre R =====
  
 {{:​nuvem.png?​550 |}} {{:​nuvem.png?​550 |}}
  
-**//Ridículas//** é a página do LEG dedicada à fornecer //dicas curtas// sobre R, e.g. condução de análises, operação com dados e confecção de gráficos. As dicas estão organizadas pelo título, seguido de descrição,​ palavras-chave e CMR (código mínimo reproduzível). Se você deseja contribuir com a nossa página de Ridículas, envie e-mail para ''​walmes@ufpr.br''​.+**//R-idículas//** é a página do LEG dedicada à fornecer //dicas curtas// sobre R, e.g. entre outras: otimização do ambiente, ​condução de análises, operação com dados e confecção de gráficos. As dicas estão organizadas pelo título, seguido de descrição,​ palavras-chave e CMR (código mínimo reproduzível). Se você deseja contribuir com a nossa página de R-idículas, envie e-mail para ''​walmes@ufpr.br''​.
  
 ---- ----
  
-==== .Rprofile no linux ====+==== Controlando gráficamente parâmetros de distribuições de probabilidade ==== 
 + 
 +Temporariamente sem descrição.\\ 
 +palavras-chave:​ #rpanel. 
 + 
 +<code R> 
 +#​------------------------------------------------------------------------------------------ 
 +#                                                                                por Walmes 
 +#​------------------------------------------------------------------------------------------ 
 + 
 +require(rpanel) 
 + 
 +norm.panel <- function(panel){ 
 +  ##​------------------------------------------------------------------ 
 +  ## panel$interval:​ vetor com domínio de plotagem da função 
 +  ## penel$...: serão parâmetros da distribuição de probabilidades 
 +  curve(dnorm(x,​ mean=panel$mean,​ sd=panel$sd),​ 
 +        from=panel$interval[1],​ to=panel$interval[2]) 
 +  panel 
 +  ##​------------------------------------------------------------------ 
 +
 + 
 +# passar os argumentos que serão fixos, abre a janelinha 
 +panel <- rp.control(interval=c(-4,​4)) 
 + 
 +# controla a média 
 +rp.slider(panel,​ mean, -4, 4, initval=0, showvalue=TRUE,​ action=norm.panel) 
 + 
 +# controla o desvio-padrão 
 +rp.slider(panel,​ sd, 0.001, 10, initval=1, showvalue=TRUE,​ action=norm.panel) 
 + 
 +#​------------------------------------------------------------------------------------------ 
 +</​code>​ 
 + 
 +---- 
 + 
 + 
 +==== .Rprofile no Linux ====
 <code R> <code R>
 #​------------------------------------------------------------------------------------------ #​------------------------------------------------------------------------------------------
Linha 37: Linha 74:
 funções (o R foi projetado para isso). funções (o R foi projetado para isso).
  
-<fc #​000080>​Ai vem o problema: ter que sempre carregar a função quando for usar, o que pode se tornar uma chatisse!</fc> +<fc #​000080>​Ai vem o problema: ter que sempre carregar a função quando for usar, o que pode se tornar uma chatisse! 
-Pior ainda, ao limpar o workspace do usuário (.GlobalEnv) ​elas são removidas ​precisam ​ser recarregadas.+Pior ainda, ao limpar o workspace do usuário (.GlobalEnv) ​ela é removida ​precisa ​ser recarregadaImagine o contexto da necessidade de várias funções, que é o que geralmente acontece com o passar do tempo ...</​fc>​
  
-**Tem como contornar? Sim! De várias formas:**+<fc #000080>**Tem como contornar? Sim! De várias formas:**</fc>
  
 **//1. Opção muito pouco prática://​** **//1. Opção muito pouco prática://​**
Linha 50: Linha 87:
 </​code>​ </​code>​
  
-A função "​cv"​ ficará disponível no seu workspace mas será removida com a instrução:​+A função "​cv"​ ficará disponível no meu workspace mas será removida com a instrução:​
  
 <code R> <code R>
Linha 61: Linha 98:
 **//2. Opção mais prática://​** **//2. Opção mais prática://​**
 A mesma que a anterior, contudo, a função não deverá se chamar "​cv",​ mas sim "​.cv"​. A mesma que a anterior, contudo, a função não deverá se chamar "​cv",​ mas sim "​.cv"​.
-Nesse caso ela permanecerá como um objeto oculto no seu workspace e não será removida com a intrução:+Nesse caso ela permanecerá como um objeto oculto no meu workspace e não será removida com a intrução:
  
 <code R> <code R>
Linha 67: Linha 104:
 </​code>​ </​code>​
  
-Contudo poderá ser removida com a intrução:+Contudopoderá ser removida com a intrução:
  
 <code R> <code R>
Linha 82: Linha 119:
 </​code>​ </​code>​
  
-Ela não ficará no seu workspace, mas sim no base.+Ela não ficará no meu workspace, mas sim no base.
 Como tal, poderá ser usada com qualquer outra função desse pacote. Como tal, poderá ser usada com qualquer outra função desse pacote.
  
Linha 97: Linha 134:
 Nesse último caso [**//​4//​**]:​ Nesse último caso [**//​4//​**]:​
   * O objeto "​.jcf"​ ficará oculto no meu workspace evitando ser deletado com: rm(list=ls())   * O objeto "​.jcf"​ ficará oculto no meu workspace evitando ser deletado com: rm(list=ls())
-  * Parar acessar a função "​cv" ​será necessário:​+  * Parar acessar a função "​cv" ​é necessário:​
  
 <code R> <code R>
-> .env$cv+> .jcf$cv
  
 # ou # ou
Linha 119: Linha 156:
 </​code>​ </​code>​
  
-Esta forma de carregar funções de forma permanente no R pode ser usado para qualquer outro objeto.+Esta forma de carregar funções de forma permanente no R pode ser usado para qualquer outro objeto!
  
 No Windows bastava usar no /​etc/​Rprofile.site:​ No Windows bastava usar no /​etc/​Rprofile.site:​
Linha 127: Linha 164:
 </​code>​ </​code>​
  
-que ela ficava disponível no pacote base. Não testei na versão em desenvolvimento (instável) que uso no linux+que ela ficava disponível no pacote base. 
-mas deve ainda funcionar.+ 
 +No Windows não testei na versão em desenvolvimento (instável) que uso no Linux
 +mas deve funcionar, pois usei por muitos anos em várias versões. 
 + 
 +Abaixo meu .Rprofile:​ 
 +<code R> 
 +## José Cláudio Faria/​UESC/​DCET 
 + 
 +##​¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ 
 +## General options 
 +library(utils) 
 +options(list(repos='​http://​cran-r.c3sl.ufpr.br/',​ 
 +             ​width=80,​ 
 +             ​editor='​vim',​ 
 +             ​browser='​chromium'​)) 
 + 
 +##​¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ 
 +## Package debug: options 
 +options(list(debug.height=10,​ 
 +             ​debug.width=125,​ 
 +             ​debug.screen.pos='​-1680+00'​ # dois monitores! 
 +             )) 
 + 
 +##​¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ 
 +## Funtions: myself 
 +oldp <- getwd() 
 +setwd('/​home/​jcfaria/​dados/​r/​funcoes/'​) 
 +#​source('​fitreg.r', ​   local=baseenv()) 
 +#​source('​fitregl.r', ​  ​local=baseenv()) 
 +#​source('​fitrlcor.r', ​ local=baseenv()) 
 +#​source('​plotreg.r', ​  ​local=baseenv()) 
 +#​source('​plotrl.r', ​   local=baseenv()) 
 +#​source('​plotlm3d.r', ​ local=baseenv()) 
 +#​source('​cv.r', ​       local=baseenv()) 
 +#​source('​rs.r', ​       local=baseenv()) 
 +#​source('​sourcedir.r',​ local=baseenv()) 
 + 
 +.jcf <- new.env() 
 +source('​fitreg.r', ​   local=.jcf) 
 +source('​fitregl.r', ​  ​local=.jcf) 
 +source('​fitrlcor.r', ​ local=.jcf) 
 +source('​plotreg.r', ​  ​local=.jcf) 
 +source('​plotrl.r', ​   local=.jcf) 
 +source('​plotlm3d.r', ​ local=.jcf) 
 +source('​cv.r', ​       local=.jcf) 
 +source('​rs.r', ​       local=.jcf) 
 +source('​sourcedir.r',​ local=.jcf) 
 +#​attach(.jcf) 
 + 
 +##​¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ 
 +## Removing variables 
 +setwd(oldp) 
 +rm(oldp) 
 + 
 +##​¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬ 
 +## Packages: loading 
 +#​library(fdth) 
 +#​library(ScottKnott) 
 +#​library(bpca) 
 +#​library(TukeyC) 
 +#​library(reshape) 
 +#​library(debug) 
 +</​code>​
  
 ---- ----
Linha 163: Linha 262:
 #       ​http://​www.youtube.com/​watch?​v=E4uR5I1uLFM #       ​http://​www.youtube.com/​watch?​v=E4uR5I1uLFM
  
 +#​------------------------------------------------------------------------------------------
 +
 +mergeAll <- function(...,​ by="​date",​ all=TRUE){
 +  dotArgs <- list(...)
 +  Reduce(
 +         ​function(x,​ y){
 +           ​merge(x,​ y, by = by, all = all, suffixes=paste("​.",​ names(dotArgs),​ sep = ""​))
 +         },
 +         ​dotArgs)
 +}
 +
 +mergeAll(a = a1, b = a2, c = a3, by="​id"​)
 +
 +str(.Last.value)
 +
 +You also might be able to set it up to capture names without you having to put "a = a" etc. using substitute.
 +
 +# http://​r.789695.n4.nabble.com/​merge-multiple-data-frames-td4331089.html
 +# ver reshape::​merge_all()
 #​------------------------------------------------------------------------------------------ #​------------------------------------------------------------------------------------------
 </​code>​ </​code>​
Linha 306: Linha 424:
 da <- read.table(textConnection(lines),​ header=TRUE) da <- read.table(textConnection(lines),​ header=TRUE)
 str(da) str(da)
 +
 +#​------------------------------------------------------------------------------------------
 +# para enviar para outra pessoa pode-se enviar o resultado do comando dput(), assim
 +
 +dput(da)
 +
 +# cole na mensagem o resulado que aparece no console ao executar essa linha
 +# assim a pessoa pode ler fazendo assim
 +
 +da <- 
 +structure(list(meses = structure(c(5L,​ 4L, 9L, 1L, 8L, 7L, 6L, 
 +2L, 12L, 11L, 10L, 3L), .Label = c("​Abr",​ "​Ago",​ "​Dez",​ "​Fev", ​
 +"​Jan",​ "​Jul",​ "​Jun",​ "​Mai",​ "​Mar",​ "​Nov",​ "​Out",​ "​Set"​),​ class = "​factor"​), ​
 +    temp = c(26.49, 26.65, 27.19, 26.28, 26.62, 26.13, 25.83, ​
 +    27.05, 27.6, 27.44, 26.56, 25.87), umidade = c(86.58, 88.49, ​
 +    86.16, 89.75, 89.22, 87.83, 86.57, 83.14, 83.02, 85.16, 88.18, ​
 +    90.63), rad = c(795.88, 710.24, 772.99, 574.88, 614.02, 680.08, ​
 +    675.97, 756.44, 925.57, 927.71, 788.87, 703.94), chuva = c(0.36, ​
 +    0.34, 0.21, 0.67, 0.31, 0.26, 0.15, 0.07, 0.14, 0.17, 0.19, 
 +    0.33)), .Names = c("​meses",​ "​temp",​ "​umidade",​ "​rad",​ "​chuva"​
 +), class = "​data.frame",​ row.names = c(NA, -12L))
  
 #​------------------------------------------------------------------------------------------ #​------------------------------------------------------------------------------------------
Linha 625: Linha 764:
 ---- ----
  
-==== Desdobramento de interação usando a multcomp::ghlt() ====+==== Desdobramento de interação usando a multcomp::glht() ====
  
 Temporariamente sem descrição.\\ Temporariamente sem descrição.\\

QR Code
QR Code ridiculas (generated for current page)