A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

O R é um program gratuito que permite entre outras coisas:

Apresentações semelhantes


Apresentação em tema: "O R é um program gratuito que permite entre outras coisas:"— Transcrição da apresentação:

1 O R é um program gratuito que permite entre outras coisas:
Escrever programas para realizar tarefas complexas. Fazer análise estatística de forma tão ou mais poderosa que outros programas não gratuitos (SPSS, SAS, etc.). Visualizar os resultados da análise de dados através de gráficos bastante poderosos. Importar dados de outros programas (Access, Excel, SPSS, SAS, etc.). Realizar operações complexas de diversas áreas, como por exemplo: Álgebra matricial, Optimização, Análise numérica, Análise estatística, Etc.

2 Informação básica sobre a interacção com o R
Iniciar o R na FEP

3 A janela (consola) do R O prompt Onde se vão escrever os comandos

4 Como se vai processar a interacção com o R
Digitar comandos no prompt Escreve-se o comando e carrega-se na tecla Enter. O R executa o comando e apresenta o resultado dessa execução (pode ser texto ou um gráfico). > R.version _ platform i386-pc-mingw32 arch i386 os mingw32 system i386, mingw32 status major 1 minor year month 06 day language R Escrever os comandos num ficheiro de texto (usando por exemplo o Notepad) e depois usar um comando do R para executar os comandos contidos nesse ficheiro, todos de uma vez. Mais prático para projectos maiores.

5 Edição na linha de comando (prompt)
É possível com as teclas das setas “ir buscar” os comandos digitados anteriormente. Isto é prático quando se usam comandos parecidos, ou quando se pretende fazer uma pequena alteração a um comando anterior, pois evita digitar tudo de novo

6 Acabar a sessão com o R Através do comando q()
Responder “Yes” só deve ser feito se se pretender continuar o que se estava a fazer, numa posterior execução do R. Senão deve-se responder “No”. Carregando no “X” da janela do R Aparecer a mesma janela de diálogo com a mesma pergunta.

7 Objectos do R O R é uma linguagem orientada aos objectos. Exemplo
Qualquer calculo pode ser guardado num objecto. Um objecto é uma entidade com um nome à qual nós podemos associar um conteúdo. O nome do objecto pode depois ser usado para ver o conteúdo do objecto, ou para usar esse conteúdo em computações posteriores. Exemplo Guardar o número 45 num objecto chamado X > X <- 45 Ver o conteúdo do objecto X > X [1] 45 Instrução de atribuição O operador “<-” serve para atribuir (guardar) um valor num objecto.

8 A instrução de atribuição (alguns exemplos)
A instrução de atribuição é destrutiva Isto quer dizer que cada objecto só pode guardar 1 valor. Exemplo: > y <- 78 > y [1] 78 > y <- 90 [1] 90 Podem-se atribuir expressões numéricas a um objecto. O que é guardado é o resultado e não a expressão! > z <- 5 > w <- z^2 > w [1] 25 > i <- (z*2 + 45)/2 > i [1] 27.5

9 O R pode ser usado como uma espécie de calculadora, pois o resultado das expressões não precisa de ser guardado num objecto: > ( )/12.5 [1] 9.92 Sempre que atribuímos algo a um novo objecto, o R cria-o e o seu conteúdo fica na memória do computador. Como esta é limitada, devemos apagar o objecto se já não precisamos mais dele. Para ver que objectos estão na memória do R faz-se: > objects() [1] "i" "w" "X" "y" "z" Para remover algum objecto faz-se: > rm(y) > rm(z,w)

10 Nomes válidos para os objectos
Os nomes dos objectos podem incluir: Qualquer letra (maiúscula ou minúscula) Qualquer dígito de 0 a 9 (excepto no início do nome) O ponto final “.” Os nomes dos objectos em R são sensíveis às letras maiúsculas / minúsculas. Isto quer dizer que Cor e cor são dois objectos diferentes. Não se podem usar espaços nos nomes dos objectos. > taxa de juro <- 0.05 Error: syntax error Em alternativa poderia usar o seguinte nome que já seria válido, > taxa.de.juro <- 0.05

11 Vectores Um vector é uma estrutura usada para armazenar dados de um determinado tipo (ex. números), que estejam relacionados (ex. as taxas de juro dos países da UE). Um objecto pode guardar um vector. Os elementos que constituem um vector podem ser acedidos individualmente. Todos os vectores em R têm um modo e um tamanho. O modo determina o tipo de valores guardado no vector. Podemos ter vectores com modo character, logical, numeric e complex. Ou seja, podemos ter vectores para armazenar conjuntos de caracteres, valores lógicos (F ou T ou FALSE ou TRUE), números, e números complexos. O tamanho de um vector é o número de elementos que ele contém, e pode ser obtido com a função length() aplicada ao vector.

12 Criar vectores Para criar um vector usamos a função c(), separando os elementos do vector por vírgulas. > v <- c(4,7,23.5,76.2,80) > v [1] > length(v) [1] 5 Todos os elementos têm que ser do mesmo tipo (modo). Caso tentemos criar um vector com elementos de tipo diferente o R vai forçá-los a ser do mesmo tipo, alterando-os. > v <- c(4,7,23.5,76.2,80,"rrt") [1] "4" "7" "23.5" "76.2" "80" "rrt"

13 As strings em R são conjuntos de caracteres englobados por aspas ou plicas,
> w <- c("rrt",'ola','isto e uma string') > w [1] "rrt" "ola" "isto e uma string" Todos os vectores podem ter um elemento especial que é o NA. Este valor representa um valor desconhecido. Exemplo: se temos os lucros trimestrais de uma empresa guardados num vector, mas desconhecemos o seu valor no terceiro trimestre, poderíamos usar a seguinte instrução para criar esse vector, > lucros <- c(234000,245000,NA,124500) > lucros [1] NA

14 Aceder aos elementos dos vectores
> lucros <- c(234000,245000,NA,124500) > lucros [1] NA Os elementos de um vector podem ser acedidos através de um índice. Na sua forma mais simples um índice é um número indicando o elemento que pretendemos aceder. Esse número é colocado entre parênteses rectos a seguir ao nome do vector, > lucros[2] [1] Podemos alterar o conteúdo de um elemento particular de um vector, > lucros[3] < > lucros [1]

15 Podemos criar vectores vazios usando a função vector(),
> k <- vector() O tamanho de um vector já existente pode ser alterado atribuindo mais elementos a índices até agora inexistentes, > k[3] <- 45 > k [1] NA NA 45 Os dois primeiros elementos do vector k, que anteriormente era um vector vazio, ficaram com o valor NA ao colocarmos o valor 45 no terceiro elemento. Para diminuirmos o tamanho de um vector podemos usar a instrução de atribuição. Por exemplo, > v <- c(45,243,78,343,445,645,2,44,56,77) > v [1] > v <- c(v[5],v[7]) [1] 445 2

16 Operações com vectores
Um dos aspectos mais poderosos da linguagem R é a possibilidade de ''vectorizar'' a maioria das suas funções. Ao aplicar uma função a um vector, obtemos como resultado um vector de resultados. Cada elemento é o resultado de aplicar a função a cada um dos elementos do vector inicial. > v <- c(4,7,23.5,76.2,80) > x <- sqrt(v) > x [1] Ao atribuir a x o resultado de aplicar a função sqrt() ao vector v, estamos de facto a criar um vector com as raízes quadradas dos números contidos em v.

17 Operações aritméticas com vectores
Podemos aplicar os operadores aritméticos a vectores, > v1 <- c(4,6,87) > v2 <- c(34,32.4,12) > v1+v2 [1] O que acontece se tentamos realizar operações envolvendo vectores de tamanho diferente? O R vai usar um regra de reciclagem dos valores do vector mais curto até este atingir o tamanho do maior. Por exemplo, > v1 <- c(4,6,8,24) > v2 <- c(10,2) [1] É como se o vector c(10,2) fosse de facto c(10,2,10,2). Os elementos são somados um a um.

18 Se os tamanhos não são múltiplos um do outro, o R imprime um aviso no écran,
> v1 <- c(4,6,8,24) > v2 <- c(10,2,4) > v1+v2 [1] Warning message: longer object length is not a multiple of shorter object length in: v1 + v2 Repare-se que um aviso não é um erro, o que quer dizer que a operação foi levada a cabo. Um número é de facto armazenado em R como um vector de tamanho 1. Logo, devido à regra da reciclagem, podemos fazer > 2*v1 [1] O número 2 (de facto o vector c(2)!) foi reciclado até atingir o tamanho do vector v1 O resultado é a multiplicação dos elementos todos deste vector por 2.

19 Factores Os factores proporcionam uma forma fácil e compacta de lidar com dados categóricos (variáveis nominais). O R possui várias funções que tiram partido do facto de guardarmos informação categórica como factores em vez de usarmos strings. Suponhamos que pretendemos guardar o sexo de 10 indivíduos num vector, > s <- c('f','m','m','m','f','m','f','m','f','f') > s [1] "f" "m" "m" "m" "f" "m" "f" "m" "f" "f" Podemos transformar um vector de caracteres num factor da seguinte forma, > s <- factor(s) [1] f m m m f m f m f f Levels: f m

20 Suponhamos que temos 4 novos indivíduos cujo sexo também pretendemos armazenar num factor.
Imaginemos que todos pertencem ao sexo masculino. Se pretendemos que o factor resultante mantenha os 2 níveis possíveis para o sexo de um indivíduo teremos que fazer, > outro.s <- factor(c('m','m','m','m'),levels=c('f','m')) > outro.s [1] m m m m Levels: f m Sem o parâmetro “levels”, o factor resultante teria um único nível (m), uma vez que este é o único valor que ocorre no vector de caracteres que estamos a transformar num factor.

21 Contagem de ocorrências em factores
A função table() permite-nos contar o número de ocorrências de cada nível de um factor, > table(s) s f m 5 5 > table(outro.s) outro.s 0 4

22 Prompt de continuação de linha
A função table() também pode ser usada para fazer tabulações cruzadas de dois factores. desde que tenham o mesmo tamanho. Imaginemos que temos um outro vector com a gama de idades dos indivíduos cujo sexo está armazenado em s. Podemos fazer uma tabulação cruzada da idade e do sexo dos 10 indivíduos, da seguinte forma, > idade <- factor(c('adulto','adulto','jovem','jovem','adulto','adulto', + 'adulto','jovem','adulto','jovem')) > idade [1] adulto adulto jovem jovem adulto adulto adulto jovem adulto jovem Levels: adulto jovem > s [1] f m m m f m f m f f Levels: f m > table(idade,s) s idade f m adulto 4 2 jovem 1 3 Prompt de continuação de linha

23 Sequências Podem-se gerar sequências em R de várias formas.
Por exemplo, imaginemos que pretendemos criar um vector com os número de 1 a Em vez de os escrevermos todos, podemos usar, > x <- 1:1000 Devemos ter algum cuidado com a precedência do operador ``:'' em relação aos operadores aritméticos, > 10:15-1 [1] > 10:(15-1) [1]

24 Para gerar sequências com números reais podemos usar a função seq(),
O operador ``:'' também pode ser usado para gerar sequências descendentes, > 5:0 [1] Para gerar sequências com números reais podemos usar a função seq(), > seq(-4,1,0.5) [1] > seq(from=1,to=5,length=4) [1] > seq(from=1,to=5,length=2) [1] 1 5 > seq(length=10,from=-2,by=.2) [1]

25 Uma outra função bastante útil para gerar sequências é a função rep()
[1] > rep('sim',3) [1] "sim" "sim" "sim" > rep(1:3,2) [1] A função gl() pode ser usada para gerar sequências envolvendo factores. A sintaxe desta função é gl(k,n), em que k é o número de níveis do factor e n o número de repetições de cada nível. > gl(3,5) [1] Levels: 1 2 3 > gl(2,5,labels=c('nao','sim')) [1] nao nao nao nao nao sim sim sim sim sim Levels: nao sim

26 Sequências aleatórias
O R tem uma série de funções para gerar sequências aleatórias de acordo com uma série de funções de distribuição de probabilidade. Essas funções têm a forma genérica rfunc(n, par1, par2, ...), em que n é o número de dados a gerar, e par1, par2, ... são valores de alguns parâmetros que a função específica a usar possa precisar. Por exemplo, se pretendemos 10 números gerados aleatoriamente de acordo com uma distribuição normal de média 0 e desvio padrão unitário, podemos fazer, > rnorm(10) [1] [6] Se preferirmos 10 números provenientes de uma distribuição normal com média 10 e desvio padrão 3, faríamos > rnorm(10,mean=10,sd=3) [1] [8]

27 De igual modo para obter 5 números obtidos de forma aleatória de uma distribuição t de Student com 10 graus de liberdade, fazemos > rt(5,df=10) [1] O R tem muitas mais funções para outras distribuições de probabilidade, bem como funções semelhantes para obter a densidade de probabilidade, as densidades acumuladas e os quartis das distribuições.


Carregar ppt "O R é um program gratuito que permite entre outras coisas:"

Apresentações semelhantes


Anúncios Google