Você está na página 1de 8

Bioestatstica

Mestrado Integrado em Engenharia Biomdica

Folha 1

Introduo: plataforma R

A anlise estatstica tem vindo, ao longo dos anos, a evoluir rapidamente


sendo cada vez mais aplicada a grandes bases de dados. Esta possibilidade
tem como uma das principais causas o avano tecnolgico quer ao nvel de
hardware quer ao nvel do software. No aspecto do software tem havido uma
proliferao de programas dedicados anlise estatstica com mais ou menos
sucesso.
O ambiente R uma plataforma para anlise estatstica, paramtrica e grca, criado por Ross Ihaka e Robert Gentleman. Esta plataforma tambm
permite a programao de rotinas usando uma linguagem que deriva do S
criada no AT&T Bell Laboratories.
O R distribudo de forma livre sob licena GNU e frequentemente enriquecido com as contribuies dos utilizadores. Os cheiros de instalao, bem como, diversos materiais de apoio podem ser encontrados em
http://www.r-project.org/. A comunidade R mantm diversos blogs que
podem e devem ser consultados para esclarecimento de dvidas. A ajuda sobre rotinas e procedimentos facilmente encontrada atravs de uma pesquisa
google.

1.1 RStudio
O RStudio um IDE (Integrated Developement Environment) de distribuio livre e que pode ser encontrado em http://www.rstudio.com. Este
IDE facilita bastante o trabalho com o R permitindo, por uma lado, testar
na consola o resultado de cada comando, visualizar grcos, instalar novos
packages, aceder ao help, vericar as variveis em memria (workspace ) e
escrever rotinas.

FMUC

2013

Figura 1: Aspeto geral do RStudio. No canto superior esquerdo, pode


observar-se a rotina programada. No canto superior direito encontra-se a
informao sobre o workspace. Em baixo esquerda, a consola de linha de
comandos e, ao seu lado, uma janela de mltiplas opes onde se observa
uma imagem.
O IDE apresenta outras capacidades como a indentao automtica, cores
distintas de acordo com a sintaxe e ajuda a completar os comandos.

1.2 Noes bsicas


1.2.1 Criar, listar e apagar objetos
Um objeto pode ser criado simplesmente por uma igualdade. No R o comando de igualdade, ou toma o valor de, composto por um sinal menor e
um travesso (<-). No entanto, nas verses mais recentes o sinal de igual
(=) pode tambm ser usado. Desta forma, criar o objeto x pode ser obtido
digitando:

> x<-10
> x
[1] 10
> x = 12
> x
[1] 12

Uma expresso pode ser digitada na consola sem ser atribuda a nenhum
objeto. Neste caso, o resultado mostrado mas no guardado em memria.

Bioestatstica

Mestrado Integrado em Engenharia Biomdica

> (2+3)*6
[1] 30
> 3^3-2
[1] 25

Para listar os objetos que esto em memria, e no caso de no se estar a


utilizar o RStudio, a funo ls() lista todos os objetos. Note-se que apenas
os nomes dos objetos so mostrados.

> x = 2; nome = "Antnio"; y = -0.3


> ls()
[1] "x" "nome" "y"

Para remover objetos da memria basta executar o comando rm(objeto).


Combinando o comando ls() e ltros (e.g., pan = "n" ) permite eliminar todos os objetos da memria ou apenas os que objetos que obdecem a uma
determinada caracterstica .

> rm(x)
> rm(x,y)
> rm(list = ls(pat = "m"))
> rm(list = ls())

#elimina o objeto x
#elimina os objetos x e y
#elimina os objetos que contm no
#seu nome o caracter "m"
#elimina todos os objetos

1.2.2 Tipos de objetos


Os quatro tipos (mode ) de objeto principais do R so os: numrico (numeric ), caracter (character ), complexo (complex ) e lgico (logic ). Para alm
do tipo, o tamanho (length ) o outro atributo que qualquer varivel apresenta. O tamanho indica o nmero de elementos que o objeto contm. Para
conhecer estes atributos podem ser usado os comandos mode e length.

FMUC

2013

> mode(x)
[1] "numeric"
> mode(nome)
[1] "charater"
> length(nome)
[1] 1

O R inclui smbolos para situaes particulares como sendo a ausncia de


valores e o innito. No primeiro, caso usado NA (not available )e no segundo Inf ou -Inf. Existe ainda o smbolo NaN que signica que no um
valor (not a number ).

> t
> t
[1]
> t
[1]

= 4/0
Inf
- t
NaN

A tabela que se segue mostra os diferentes objetos existentes no R.


objeto
tipo
multiplos tipos
vector
numrico, caracter, complexo ou lgico
no
numrico ou caracter
no
factor
array
numrico, caracter, complexo ou lgico
no
matriz
numrico, caracter, complexo ou lgico
no
"data frame" numrico, caracter, complexo ou lgico
sim
"ts"
numrico, caracter, complexo ou lgico
no
lista
numrico, caracter, complexo, lgico, . . .
sim
O vector uma coleo de elementos do mesmo tipo e pode ser criado a partir
do comando c. O factor um vector usado para descrever variveis categricas. Com o comando levels acedemos aos nveis existentes num objeto factor.

> v1 = c(1,2,3,4)
> v1
[1] v2 = c(1:10)
> v2

#cria um vector

Bioestatstica

Mestrado Integrado em Engenharia Biomdica

[1] 1 2 3 4 5 6 7 8 9 10
>v3 = c("Jan","Fev","Mar","Jan","Abr","Abr","Fev")
>v3
[1] "Jan" "Fev" "Mar" "Jan" "Abr" "Abr" "Fev"
> f = factor(v3)
#cria um factor
> f
[1] Jan Fev Mar Jan Abr Abr Fev
[Levels] Abr Fev Jan Mar
>levels(f)
[1] "Abr" "Fev" "Jan" "Mar"

Um array pode ser considerado como uma coleo de vectores do mesmo


tipo (uma ou mais tabelas agregadas). Para aceder a um dado elemento do
array usa-se um esquema de indexao, pelo que, tambm se pode encarar
um array como uma coleco de dados organizada por ndices. Uma matriz
um caso particular de um array apresentando apenas dimenso 2.

> a = array(1:18,dim=c(3,3,2))
> a
, , 1
[,1] [,2] [,3]
[,1] 1
4
7
[,2] 2
5
8
[,3] 3
6
9
, , 2
[,1] [,2] [,3]
[,1] 10 13 16
[,2] 11 14 17
[,3] 12 15 18

#cria um array

Um objeto "data frame" uma tabela de vectores do mesmo tamanho mas


que podem ser de tipos diferentes. Uma base de dados tpica constitui um
objeto deste tipo.

> aluno = c("Ana","Bernardo","Fbio"))

FMUC

2013

> nota = c(14,16,18)


> data = as.Date(c("12-09-2012","19-09-2012","26-09-2012"),
format="%d-%M-%Y")
> aluno.nota = data.frame(aluno,nota,data)

Um objeto "ts" uma srie temporal. E, nalmente uma lista pode conter
qualquer tipo de objeto inclusivamente listas.

1.2.3 Dados em cheiros


Para a leitura e escrita de cheiros o R utiliza a pasta de trabalho (working
directory ) pelo que aconselhvel a indicar a mesma ao sistema atravs do
comando setwd.

> getwd()
[1] "D:/"
> setwd("D:\\Universidade\\Aulas\\Eng. Biomdica\\R")
> getwd()
[1] "D:\\Universidade\\Aulas\\Eng. Biomdica\\R")

Apesar de existirem vrias formas de ler cheiros de dados no R, um dos


processos mais simples transformar previamente o cheiro em .csv e depois
usar o comando read.csv2. Este comando um caso particular do comando
geral read.table apresentando partida uma srie de parmetros j denidos.
Se se procura algo mais geral deve ento utilizar-se o read.table e ajustar os
parmetros ao caso particular.

> dados = read.csv2("classificaes.csv", dec = ".")


> head(dados)
nome turma teste1 teste2
1
Ana
P1
16
18
2 Beatriz
P1
13
15
3 Carlos
P2
15
14

1.2.4 Indexao e ltros


6

Bioestatstica

Mestrado Integrado em Engenharia Biomdica

Exerccios de aplicao

2.1 Criar, listar e apagar objetos


1. Crie quatro objetos em que cada um contenha, respetivamente, a sua
altura, o seu peso, o seu primeiro nome e se fuma (True) ou no.
2. Para cada um dos objetos criados anteriormente determine o tipo e o
tamanho do objeto.
3. Verique se no workspace existe mais algum objeto.
4. Elimine o primeiro objeto criado.

2.2 Vectores, matrizes e arrays


1. Crie um vector com os dias da semana.
2. Crie um vector com os nmeros inteiros de -3 a 8.
3. Crie um vector com 20 elementos todos iguais a 2. (Dica: utilize o
comando rep )
4. Crie um vector com os nmeros pares desde 2 at 100. (Dica:utilize o
comando seq )
5. Crie um vector com os nmeros impares desde 3 at 50.
6. Combine num s vector os dois vectores criados anteriormente.
7. Multiplique os dois vectores criados em 4. e 5.. O que pode concluir?
8. Construa uma matriz 2x2 com todos os pares desde 2 a 32.
9. Construa um array de dimenso ixjxk (i, j, k sua escolha) dos valores
entre 0 e 1, intervalados de 0.02.

2.3 Dados em cheiros


1. Crie um cheiro em excel (.csv) com a seguinte informao sobre todos
os colegas presentes na aula:
primeiro nome
idade
altura
peso
gnero
naturalidade (concelho)

FMUC

2013
fumador (sim/no)

2. Leia o cheiro criado anteriormente para o workspace do R.


3. Verique qual o nmero de fumadores e o nmero de elementos do
gnero feminino.
4. Verique quantos e quais os concelhos de naturalidade existentes na
tabela.