Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
ridiculas [2011/08/13 08:27] 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 38: | Linha 75: | ||
<fc #000080>Ai vem o problema: ter que sempre carregar a função quando for usar, o que pode se tornar uma chatisse! | <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) ela é removida e precisa ser recarregada. Imagine o contexto da necessidade de várias funções, que é o que geralmente acontece com o passar do tempo ... | + | Pior ainda, ao limpar o workspace do usuário (.GlobalEnv) ela é removida e precisa ser recarregada. Imagine 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> | + | <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 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 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 162: | 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 305: | 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 624: | 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.\\ |