Anda di halaman 1dari 29

Estatstica Computacional

Matrizes e Data.Frames Profa.: M.Sc. Ana Maria de Souza

Tipos de Objetos de Dados


Vetores, matrizes e listas so objetos com caractersticas diferentes, formalmente definidas no R como atributos. Em uma linguagem orientada a objetos, so esses atributos que definem o contexto para a execuo de um comando e, portanto, seu resultado. Fazendo uma analogia com o mundo fsico, uma mesma ao tem resultados diferentes de acordo com as caractersticas do objeto em que aplicada.

Atributos de um Objeto de Dados


Todo objeto no R tem dois atributos bsicos, que so o tipo de dado que contm e o nmero de elementos que contm. As funes mode e length retornam esses atributos: > pares <- c(2,4,6,8,10) > pares[1] 2 4 6 8 10 > mode(pares) [1] "numeric > length(pares) [1] 5

Atributos de um Objeto de Dados


Objetos tambm podem ter uma ou mais classes. Um vetor numrico pode ser da classe dos inteiros ou da classe dos fatores. Um objeto da classe matriz pode ter dados do tipo numrico, lgicos ou caracteres. O comando class retorna a classe de um objeto:

Matrizes
> matriz.letras

> mode(matriz.letras) [1] "character" > class(matriz.letras) [1] "matrix" > matriz.numeros

Funo ''matrix()''
A funo matrix cria uma matriz com os valores do argumento data. O nmeros de linhas e colunas so definidos pelos argumentos nrow e ncol: > minha.matriz <- matrix(data=1:12,nrow=3,ncol=4) > minha.matriz

Argumento byrow
Para preencher por linha basta alterar o argumento, utilizando: byrow para TRUE: > minha.matriz <matrix(data=1:12,nrow=3,ncol=4,byrow=T) > minha.matriz

Cria Objeto da Classe Matriz


>ilhas=matrix( round(sample(c(runif(36,0,6),rep (0,4)))),ncol=8) > Ilhas

Cria Objeto da Classe Matriz


> colnames(ilhas)<-paste("ilha",1:8) > rownames(ilhas)<-paste("sp",1:5) > ilhas

Usando a Funo apply()

Matriz com Tamanho Diferente


Se o argumento data, tem menos elementos do que a matriz, eles so repetidos at preench-la: >elementos<matrix(c("ar","gua","terra","fogo","Leeloo"),ncol= 4,nrow=4) Warning message:comprimento dos dados [5] no um submltiplo ou mltiplo do nmero de linhas [4] na matrix

Vamos ver como fica:


> elementos

Funo ''data.frame()''
Com a funo data.frame reunimos vetores de mesmo comprimento em um s objeto: > nome <- c("Didi","Ded","Mussum","Zacarias") > ano.nasc <- c(1936,1936,1941,1934) > vive <- c("V","V","F","F") > trapalhoes <- data.frame(nome,ano.nasc,vive) > trapalhoes

Funao ''edit()''
O mesmo, em um s comando: >trapalhoes<data.frame(nomes=c("Didi","Ded","Mussum","Za carias"), ano.nasc=c(1936,1936,1941,1934), vive=c("V","V","F","F")) Esta funo abre uma interface simples de edio de dados em formato planilha, e til para pequenas modificaes. Mas para salvar as modificaes atribua o resultado da funo edit a um objeto:

Funao ''edit()''
>trapalhoes.2<-edit(trapalhoes)

Resultado:

Anlise descritiva
Uma boa forma de iniciar uma anlise descritiva adequada verificar os tipo de variveis disponveis. Variveis podem ser classificadas da seguinte forma: qualitativas

nominais ordinais
discretas Contnuas e podem ser resumidas por tabelas, grficos e/ou medidas.

quantitativas

O conjunto de dados

O conjunto de dados

O que queremos aqui ver os dados no programa R:


entrar com os dados fazer uma anlise descritiva Estes so dados no "estilo planilha", com variveis de diferentes tipos: categricas e numricas (qualitativas e quantitativas). Portanto o formato ideal de armazenamento destes dados no R o data.frame. Para entrar com estes dados diretamente no R, podemos usar o editor que vem com o programa. Para digitar rapidamente estes dados mais fcil usar cdigos para as variveis categricas.

Desta forma, na coluna de estado civil vamos digitar o cdigo 1 para solteiro e 2 para casado. Fazemos de maneira similar com as colunas Grau de Instruo e Regio de Procedncia. No comando a seguir invocamos o editor, entramos com os dados na janela que vai aparecer na sua tela e quanto samos do editor, os dados ficam armazenados no objeto milsa. Aps isto digitamos o nome do objeto (milsa) e podemos ver o contedo digitado, como mostra a tabela no console. Lembre-se que se voce precisar corrigir algo na digitao voce pode faz-lo abrindo a planilha novamente com o comando fix(milsa).

Usando a Funo edit()


> milsa <- edit(data.frame()) > milsa > fix(milsa) Ateno: Note que alm de digitar os dados na planilha, digitamos tambm o nome que escolhermos para cada varivel. Para isto basta, na planilha, clicar no nome da varivel e escolher a opo CHANGE NAME e informar o novo nome da varivel.

A planilha digitada como aparece no console ainda no est pronta. Precisamos informar para o programa que as variveis civil, instrucao e regiao, NO so numricas e sim categricas. No R variveis categricas so definidas usando o comando factor(), que vamos usar para redefinir nossas variveis conforme os comandos a seguir. Inicialmente inspecionamos as primeiras linhas do conjunto de dados. A seguir redefinimos a varivel civil com os rtulos (labels) solteiro e casado associados aos nveis (levels) 1 e 2. Para varivel instruao usamos o argumento adicional ordered = TRUE para indicar que uma varivel ordinal. Na varivel regiao codificamos assim: 2=capital, 1=interior, 3=outro. Ao final inspecionamos as primeiras linhas do conjunto de dados digitando usando head().

O comando:
> head(milsa)

Prximos comandos:
>milsa$civil<factor(milsa$civil, label = c("solteiro", "casado"), + levels = 1:2) >milsa$instrucao<factor(milsa$instrucao, label = c("1oGrau", + "2oGrau", "Superior"), lev = 1:3, ord = T) >milsa$regiao<factor(milsa$regiao, label = c("capital", "interior", + "outro"), lev = c(2, 1, 3)) >head(milsa)

Vejamos como vai ficar:

Funo transform()
Em verses mais recentes do R foi introduzida a funo transform(). Que pode ser usada alternativamente aos comandos mostrados acima para modificar ou gerar novas variveis. Por exemplo, os comandos acima poderiam ser substitudos por:

Executando os comandos:
>milsa<transform(milsa, civil = factor(civil, label = c("solte iro", "casado"), levels = 1:2), instrucao = factor(in strucao,label=c("1oGrau", "2oGrau", "Superior"), + lev = 1:3, ord = T), regiao = factor(regiao, + label = c("capital", "interior", "outro"), lev = + c(2,1, 3)))

Vamos ainda definir uma nova varivel nica idade a partir das variveis ano e mes que foram digitadas. Para gerar a varivel idade em anos, deve-se fazer: > milsa <- transform(milsa, idade = ano + mes/12) > milsa$idade

Anda mungkin juga menyukai