Você está na página 1de 7

Lista de Funções do R início de cada sessão de trabalho.

Output - há dois tipos de output no


Esta é apenas e tão somente uma lista R: primeiro, aquele que aparece no Con-
das funções utilizadas nesse curso introdu- sole logo depois que rodamos um comando;
tório. segundo, a janela de gráficos a qual aparece
toda vez que rodamos comando de gráfico
(e.g., utilizando a função plot()). A janela
Glossário de gráficos pode ser salva em arquivos de
extensão de imagem (.jpg, .tif, .png, . . . )
Antes da lista de funções per se, faz-se ou em .pdf.
necessário apresentar o glossário dos termos Função do R - código que executa ações
mais utilizados no curso. em determinado objeto no R. No jargão de
- Pasta ou Diretório de trabalho - local usuários do R, diz-se que função é ferra-
no computador onde todos os arquivos re- menta para manipular o objeto. Há, tam-
ferentes a análise de dados (i.e., banco de bém, quem invoque a metáfora do marce-
dados, gráficos, output, . . . ) serão salvos. neiro para explicar o que é função. O mar-
Sessão de trabalho - esta se inicia toda ceneiro utiliza ferramenta para esculpir a
vez que o programa é aberto e o usuário madeira e transformá-la em algo útil. Da
define a pasta de trabalho em que a análise mesma forma, o analista de dados utiliza
de dados será salva. A sessão de traba- função do R para trabalhar seus dados os
lho é salva continuamente em arquivo com quais são objetos no R.
extensão “.RData” na pasta de trabalho. Objetos no R - veja melhor explica-
Este arquivo deve ser carregado ao início de ção na subseção Criação de objetos no
cada sessão. Para salvar a sessão de traba- R.
lho continuamente, deve-se utilizar a fun-
ção save.image() no Console.
Console - janela dentro do programa Instalar o programa
que exibe a linha de comando iniciada pelo
símbolo “>”. Nessa linha de comando, as O programa R pode ser instalado do
funções do R são utilizadas por meio de es- website oficial http://www.r-project.org/:
crita textual do código seguido do botão CRAN → Mirror (e.g., Brazil-University
“ENTER” (i.e., no jargão dos programado- of Sao Paulo, Sao Paulo) → Download and
res isso é equivalente a expressão “rodar co- Install R for Windows.
mando”). Os comandos utilizados na linha
de comando ficam salvos temporariamente
(i.e., até a sessão de trabalho anterior) em Como pedir ajuda?
arquivo com extensão “.RHistory” na pasta
de trabalho. As funções do R têm documentação
Script - janela dentro do programa que online.
exibe os comandos a serem rodados no Con- help(lm) ou ?lm - ajuda da função
sole utilizando “CTRL+R”. O Script pode lm().
ser salvo com extensão “.R”, o que permite help.search("linear model") ou
visualizá-lo na pasta de trabalho dentro do ??"linear model" - busca em todo sis-
programa. Este arquivo deve ser aberto no tema de ajuda a função ou objeto que

1
possui em sua descrição a expressão linear tabela como cabeçalho (i.e., linha com o
model. nome das colunas). Finalmente, utiliza-se
help.start() - inicia-se a versão o argumento sep =“ ” que indica espaço
HTML do sistema de ajuda. Pode-se clicar em branco como separador de colunas
em cima de packages para ver todos os para importar corretamente a estrutura da
pacotes instalados. Depois, pode-se clicar planilha.
em cima de, por exemplo, stats para ver read.csv(arquivo, header =
todas as funções estatísticas disponíveis TRUE, sep =“,”) - importa arquivo .csv
nesse pacote. (i.e., arquivo com vírgula como separador
de colunas). Esta é a forma de impor-
tação mais utilizada nesse curso porque
Instalar e carregar pacotes esse tipo de arquivo pode ser elaborado
na planilha de dados mais utilizada do
Os pacotes podem ser instalados de ser- planeta (i.e., ExcelTM ). As mesmas regras
vidor local (i.e., local mirror) a partir do de read.table() podem ser aplicadas com
próprio programa em “instalar pacotes” no essa função, mas é importante enfatizar
menu Pacotes ou utilizando a função ins- que o tipo de separador é vírgula, sendo
tall.packages() no Console. então utilizado o argumento sep = “,”.
require(epicalc) - carrega pacote pre- write.table(x, arquivo, row.names
viamente instalado no programa. DICA: = TRUE, col.names = TRUE, sep =
carregar sempre o pacote no início de cada “”) - exporta qualquer objeto do R o qual
sessão de trabalho. é primeiramente transformado em uma
planilha de dados antes da exportação.
Assim, deve-se declarar dentro dessa
Importar e exportar base de dados função o “x” (nome do objeto no R), o
nome do arquivo (e.g., “meus.dados.txt”),
É possível elaborar e armazenar bancos primeira linha (row.names = TRUE),
de dados como objetos dentro do R. Mas, primeira coluna (col.names = TRUE) e
neste curso, a recomendação é que o banco o tipo de separador de colunas (sep =
de dados seja elaborado no EpiInfoTM “”).
(http://wwwn.cdc.gov/epiinfo/) e de-
pois importado no R. Adicionalmente,
é possível importar no R arquivos SAS, Criação de objetos no R
Stata, SPSS, Minitab, DBF e EpiInfo
utilizando as funções do pacote foreign. No R, tudo é objeto. A programação
A seguir estão as funções de importação e orientada a objetos é um dos paradigmas
exportação utilizadas nesses curso. modernos das linguagens de programação,
read.table(arquivo, header = sendo assim observada na maioria das lin-
TRUE, sep =“ ”) - importa arquivo em guagens contemporâneas de alto nível, e.g.,
formato de planilha e cria data.frame com Python, Java, . . . . No R, as bases de dados
o mesmo. O nome do arquivo tem de estar vão ser sempre transformadas em objetos
entre aspas e conter a extensão (e.g., .txt). para a análise de dados. O nome de ob-
Em geral, utiliza-se o argumento header = jeto (a gosto do freguês) é atribuído (< −)
TRUE para utilizar a primeira linha da por meio de determinada função que cria

2
objetos (e.g., meu.objeto.do.R < − c(1, 25, Objetos criados na Sessão de traba-
74, 40)). Há, pelo menos, 6 tipos dessas lho
funções que criam objetos, sendo as quais
frequentemente utilizados e ensinados nesse Para o iniciante no R, pode parecer que
curso: vetor, planilha de dados, tabela, fa- os objetos não foram criados utilizando os
tor, lista e função. comandos acima. Utiliza-se a função ls()
c(...) - função genérica que combina para retornar todos os objetos criados e sal-
argumentos para formar um vetor. O vetor vos na sessão de trabalho.
é adimensional, podendo representar linha
ou coluna de uma planilha de dados.
data.frame(...) - cria-se uma plani-
lha de dados com essa função. Em epide- Visualização de objetos no R
miologia, este é um objeto muito utilizado,
sendo pacientes representados nas linhas e A visualização é simples. Uma vez
variáveis nas colunas. que o objeto está criado, utiliza-se o nome
matrix(x, nrow = , ncol =, byrow do objeto para a visualização. Entretanto,
= TRUE) - tabelas de contingência são existem outras formas de ver o objeto. A
criadas com essa função. Para criar uma mais utilizada nesse curso é:
tabela 2x2, deve-se declarar o x (vetor con- str(x) - exibe a estrutura interna do
tendo os valores das 4 caselas), número de objeto (x), informando o tipo de objeto,
linhas e de colunas (nrow = 2, ncol = 2 ). número de observações e classe de cada va-
factor(x, levels=) - transforma ve- riável. Exitem duas classes de variáveis no
tor (x) em fator (i.e., variável categórica) R: primeira, categórica (e.g., factor, cha-
o qual possui categorias (levels =) repre- racter); segunda, numérica (e.g., integer,
sentadas por nomes. Ao fazer essa trans- numeric).
formação, percebe-se que as categorias da
variável ficam entre aspas (“”). É por meio
das aspas que o R reconhece que a variável
Indexação de objetos no R
é do tipo string (i.e., texto).
list(...) - cria-se objeto lista que é o
mais recursivo de todos os objetos do R. A indexação é utilizada para selecio-
Assim, a lista é conhecida, popularmente, nar subconjuntos de valores do objeto no
como “o varal” em que é possível pendurar R. Para objeto adimensional como o vetor,
todo e qualquer tipo de objeto. Por isso, a utiliza-se:
mesma é utilizada para guardar o output da x[n] - seleciona-se o nenésimo elemento
análise de dados. Nesse output podem ha- do vetor x.
ver vários tipos de objetos do R, por exem- Para objetos bi-dimensionais como a
plo um vetor e uma tabela, os quais estão tabela e a planilha de dados, utiliza-se:
salvos dentro dessa lista. x[i, j] - seleciona-se o elemento da li-
function(...) - esta é a função que nha i da coluna j. Para selecionar todas
cria novas funções no R. Mais explicações as linhas e determinada coluna j, utiliza-se
sobre essa função na subseção Programa- x[ , j]. Adicionalmente, podem ser seleci-
ção. onadas as dez primeiras linhas de todas as
colunas (i.e., x[1:10, ]).

3
Coerção de objetos no R Produção de gráficos

A coerção é a transformação de um ob-


jeto em outro. Para transformar um factor
em objeto numérico, utiliza-se:
as.numeric(x) - esta função trans-
forma x que é um factor em objeto numé- A produção de gráficos pode ter dois
rico. objetivos: primeiro, complementar a aná-
Em adição, pode-se transformar uma lise estatística descritiva; segundo, apresen-
tabela (matrix) em planilha de dados tar os resultados de forma elegante e sinté-
(data.frame) utilizando: tica em manuscritos ou demais trabalhos
as.data.frame - transforma-se tabela acadêmicos. Para saber se a variável x tem
em planilha de dados. Distribuição Normal, as funções de histo-
Para conhecer as demais funções grama e de gráfico Quantil-Quantil podem
de coerção de objetos no R, utiliza-se ser utilizadas:
method(as). hist(x) - faz-se histograma da variável
x.
qqnorm(x) - faz-se gráfico Quantil-
Quantil da variável x. Frequente-
mente, combina-se esta função com outra
(qqline(x)) para obter a linha de referên-
Estatística descritiva cia teórica esperada se a variável x fosse
Normal.
Para visualizar a relação entre duas va-
Aqui é uma orientação simples e direta riáveis, são utilizadas as funções a seguir:
de procedimentos utilizados na análise es- barplot(table(x)) - exibe grafica-
tatística descritiva. Para variáveis qualita- mente a relação das distribuições de
tivas (categóricas) e discretas, utilizam-se frequência de duas variáveis qualitativas em
as seguintes funções: uma tabela x.
table(x) - esta função retorna a dis- boxplot(y ∼ x) - exibe graficamente a
tribuição de frequência absoluta das cate- distribuição de frequência da variável quan-
gorias na variável x. titativa contínua (y) segundo as categorias
prop.table(table(x)) - estas funções, da variável x.
uma dentro da outra, retornam a distribui- plot(x, y) - exibe graficamente a rela-
ção de frequência relativa das categorias na ção entre variáveis quantitativas contínuas,
variável x. sendo x independente e y dependente.
Para as variáveis quantitativas contí- pairs(x) - esta função pode ser utili-
nuas, são utilizadas as funções a seguir: zada para produzir, a partir de uma pla-
summary(x) - a função retorna mé- nilha de dados (data.frame x), a matriz de
dia, mediana, mínimo e máximo da variável dispersão. Para exibir também a matriz
x. A mesma deve ser complementada com de correlação, precisa-se da função interna
sd(x) para obter o desvio padrão dessa va- panel.cor que pode ser obtida no help da
riável. função pairs() (i.e., ?pairs).

4
Customização de gráficos Testes de hipóteses

O R tem uma “família” de funções


para fazer os testes de hipóteses. Em geral,
o nome dessas funções são bem intuitivos.
Por exemplo, o teste não-paramétrico de
Shapiro-Wilk é representado pela função
A customização de gráficos é muito shapiro.test(). Imaginem como chama a
particular. Entretanto, algumas regras bá- função para fazer o teste exato de Fisher?
sicas devem ser seguidas. Por exemplo, Só poderia ser a função fisher.test().
torna-se imprescindível disponibilizar o tí- shapiro.test(x) - testa-se a hipótese
tulo e os rótulos dos eixos X e Y dos gráfi- nula de que a variável x adere a Distribui-
cos. Ainda, gráficos coloridos são, em geral, ção Normal.
preferíveis. Portanto, seguem argumentos fisher.test(x) - testa-se a hipótese
mais utilizadas na customização de gráfi- nula de que há independência de linhas
cos. e colunas na tabela de contingência x de
main = “Título do gráfico” - ar- marginais fixas.
gumento main serve em qualquer fun- chisq.test(x) - esta função calcula o
ção de gráfico (e.g., plot(x, y, main = teste de χ2 de Pearson para a tabela de
“Meu Primeiro Gráfico: não ficou ba- contingência x.
cana?”)). Esse argumento representa o tí- cor.test(x, y, alternative =
tulo do gráfico. c("two.sided", "less", "greater"),
xlab = “Nome do Rótulo do Eixo method = c("pearson", "kendall",
X”, ylab = “Nome do Rótulo do Eixo "spearman"), ...) - esta função testa
Y” - esses argumentos são bem gerais e ser- a correlação entre variáveis quantitativas
vem em todas as funções de gráfico (e.g., contínuas x e y utilizando o coeficiente de
plot(x, y, xlab = “Número de dias de correlação de Pearson ou de Kendall ou de
curso de R”, ylab = “Aprendizagem Spearman. A hipótese alternativa deve ser
no R”). Eles representam os rótulos dos bi-caudal (i.e., two-sided).
eixos X e Y, respectivamente. Obviamente, existem outras funções
col = “red” - esse argumento é para disponíveis no pacote stats para fazer os
colorir os símbolos internos do gráfico (e.g., testes de hipóteses mais utilizados em aná-
plot(x, y, col = “red”)). Existem muitas lise estatística. Na subseção Como pedir
cores disponíveis no R (e.g., rode a função ajuda? está descrito como entrar nesse
colours() para vê-las). pacote e ver todas as suas funções.
Em adição, pode-se entrar no help de
cada função de gráfico (e.g., ?barplot) e
ver todos os argumentos disponíveis para Modelos de regressão
customização. Finalmente, pode-se en-
trar no help da lista de argumentos grá- Os modelos de regressão linear são
ficos disponíveis (e.g., ?par). Por exem- muito utilizados em análise estatística. No
plo, utiliza-se frequentemente o comando R, modelos lineares são representados pela
par(mfrow(2,2)) para pedir janela com 4 função a seguir:
espaços 2x2 de gráficos. lm(y ∼ x1 + x2 + . . . + xn ) - esta

5
é a função para fazer modelo de regressão obter valores aleatórios dessas distribuições
linear, sendo que lm(y ∼ x1 ) é simples e teóricas. Por exemplo, pode-se ver a seguir
lm(y ∼ x1 + x2 ) é múltiplo. A variável y a função:
é dependente e a variável x é independente. rnorm(x, mean = 0, sd = 1) - uti-
Para ver os resultados do modelo, deve-se lizada para obter valores aleatórios de uma
utilizar a função summary() (e.g., sum- Distribuição Normal em sua forma redu-
mary(lm1), sendo lm1 um objeto da fun- zida (i.e., µ = 0 e σ = 1). O argumento
ção lm()). x é o número de valores que se deseja ob-
Em epidemiologia, o modelo de regres- ter. Os valores de mean e sd podem ser
são logística binomial é também utilizado alterados (e.g., rnorm(x, mean = 18, sd
para, por exemplo, medir a associação entre = 7)).
variáveis de desfecho e explanatória. No R,
esse modelo está incluso na família de mo-
delo lineares generalizados (i.e., generalized Programação de novas funções
linear model). Essa família é representada
pela função glm() e a regressão logística Uma das grandes vantagens do R em
binomial é explicitada dentro dessa função relação aos outros programas de análise es-
(i.e., family = binomial()). tatística é a criação de novas funções. No
glm(y ∼ x1 + x2 + . . . + xn , family R, pode-se criar novas funções utilizando a
= binomial()) - esta função é utilizada função function().
para fazer a regressão logística binomial, minha.função < − function(x, y,
sendo que glm(y ∼ x, family = bino- z) - esta função (e.g., minha.função) tem
mial()) é o modelo simples e glm(y ∼ x1 três argumentos (e.g., x, y e z).
+ x2 , family = binomial()) é o múltiplo. {
A variável de desfecho é y a qual é binomial ...
(e.g., 0 = não-caso; 1 = caso). A variá- return - aqui é explicitado o output
vel explanatória é x que, em geral, deve ter dessa função (i.e., minha.função)
sido transformada em dummy (e.g., 0 = ba- } - entre essas chaves (i.e., {. . . }) são
seline, 1 = presença de exposição ao risco). explicitados os cálculos envolvendo os três
Para ver os resultados do modelo, deve-se argumentos x, y e z.
utilizar a função logistic.display() (e.g.,
logistic.display(glm1), sendo glm1 um
objeto da função glm()). A função lo- Pacotes Epidemiológicos
gistic.display() está disponível no pacote
epicalc (ver subseção Pacotes Epidemio- O R possui muitos pacotes
lógicos). (http://www.r-project.org/). Aqui, nós
utilizamos três pacotes epidemiológicos:
epicalc, epiR e epibasix.
Distribuições epibasix - este pacote tem funções
básicas utilizadas em epidemiologia.
Além da famosa Distribuição Normal, epiR - este pacote tem funções avan-
existem muitas outras distribuições de pro- çadas utilizadas em epidemiologia.
babilidades (e.g., Exponencial, Gamma, epicalc - este pacote tem funções
Poisson, Weibull, t, F, . . . ). No R, pode-se utilizadas para modelos de regressão em

6
epidemiologia.
Para ver o conteúdo de cada pacote,
deve-se utilizar a funções help.start()
(ver na subseção Instalar e carregar
pacotes).

Finalmente, termina-se aqui a lista de


códigos utilizados nesse curso introdutório
sobre a aplicação do ambiente R na análise
estatística em epidemiologia.

Você também pode gostar