Commit 70c150dd authored by Guilherme Hathy's avatar Guilherme Hathy

mod. cap 2,5 e 6

parent 4673ad2b
This diff is collapsed.
#Importação e exportação de dados
#Introdução
##Introdução
Este capítulo contém as diferentes e mais adequadas formas de entrar com dados no R.
## 3. Importação e exportação de dados
### Importação e exportação de dados
A entrada de dados pode ser feita de duas maneiras: diretamente no R ou, quando já foram digitados em outro programa, em arquivos texto.
Já a exportção de dados é comumente feita através de uma função.
### 3.1 Entrada de dados diretamente no R
#### 3.1.1 Entrada via Teclado
#### Entrada de dados diretamente no R
##### Entrada via Teclado
Para entrar com os dados no R a paritr do teclado é necessário utilizar a função **scan()** . Para utilizar essa função, basta digitar no script ou no console **scan()** e então precionar a tecla **enter**. Como consequência, o console estará diponível para digitar os dados. A cada número digitado pressione a tecla enter.
Outra maneira é digitar os números separados por espaços em branco para então pressionar enter. Para encerrar a entrada de dados basta pressionar enter duas vezes seguidas.
```{r}
......@@ -17,6 +17,7 @@ Outra maneira é digitar os números separados por espaços em branco para entã
x <- scan()
```
```{r}
# Exemplo 2 da função scan()
y <- scan()
......@@ -26,7 +27,7 @@ y <- scan()
A função scan também pode interpretar elementos de outras classes, para isso deve-se digitar **scan(what = "character")**. Os outros argumentos para *what* são: logical, integer, numeric, complex, character, raw e list.
#### 3.1.2 Entrada via teclado na forma *strings*
##### Entrada via teclado na forma *strings*
A função utilizada para esse fim é a **readLines()**. Um dos argumentos dessa função é *n*, que serve para indicar o númro de linhas que serão digitados. Para melhor entendimento, segue o exemplo
......@@ -36,13 +37,13 @@ texto <- readLines(n = 1)
```
### 3.2 Entrada de dados em arquivos texto
#### Entrada de dados em arquivos texto
Este tipo de entrada é sempre utilizada quando os dados já foram digitados em qualquer outro programa. Para isso é necessário ver em qual formato que o arquivo a ser importado foi salvo. É mais fácil importar arquivos em formato de texto, por isso, é possível entrar no arquivo e selecionar *salvar como* e gravar os arquivos em formato de texto. Os dois prncipais formatos de texto são:
* txt: arquivo onde as colunas são separadas geralmente por uma tabulação(tab) ou espaço(tecla space)
* csv: arquivo onde as colunas são geralmente separadas por vírgula (comma separated value), ou ponto-e-vírgula.
#### 3.2.1 A função read.table()
##### A função read.table()
Para importar os dados ser? necess?rio utilizar a fun??o **read.table()**. Essa função possui os seguintes argumentos:
*"~/diretório do arqv/nomeArquivo.csv" ou "~/diretório do arqv/nomeArquivo.txt"
......@@ -54,14 +55,14 @@ Para importar os dados ser? necess?rio utilizar a fun??o **read.table()**. Essa
*dec = "," ou ".": o separador de decimais
```{r}
dados <- read.table("~/Documents/PET/Dados ce083/crabs.csv", header = T, sep = ";", dec = ".")
dados <- read.table("dados/crabs.csv", header = T, sep = ";", dec = ".")
head(dados)
```
##### OBSERVAÇÃO
###### OBSERVAÇÃO
* Quando houver colunas com caracteres, elas serão interpretadas como factor. Para alterar esse padrão acrescente o argumento stringAsFactors = FALSE
#### 3.2.2 O argumento clipboard para copiar e colar dados
##### O argumento clipboard para copiar e colar dados
Como o título do tópico menciona, o argumento clipboard é utilizado quando deseja-se usar a área de transferência (*Ctrl + c*) para serem lidos no R. A utilização desse argumento é da seguinte forma:
......@@ -70,11 +71,11 @@ Como o título do tópico menciona, o argumento clipboard é utilizado quando de
#### 3.2.3 Carregando dados já disponíveis no R
##### Carregando dados já disponíveis no R
Use o comando *ls()* para veficar os objetos criados na sua seção. Agora digite *data("trees")* e verifique novamente sua lista de objetos criados. Agora "trees" foi adicionado a essa lista, ou seja, o comando **data()** serve para importar arquivos já disponíveis no R.
### 3.3 Lendo dados de uma URL
#### Lendo dados de uma URL
Para ler os dados através uma URL, basta verificar o link de acesso à base de dados para dexá-lo representato por uma variável. Então, basta importá-lo pela função *read.table*, utilizando os mesmos argumentos.
......@@ -86,12 +87,12 @@ dados <- read.table(url, header = T, sep = '\t')
```
### 3.4 Exportando dados do R
#### Exportando dados do R
Assim como read.table() foi utilizada para importar, a função **write.table()** terá a função de exportar. Os argumentos de ambas as funções são muito semelhantes. A função write.table() segue um padrão de criar arquivos com colunas separadas por espaço, o separador de decimal é ponto e os nomes das linhas são incluídos. Portanto, para exportar arquivos, basta digitar:
```{r}
write.table(women, file = "~/Documents/PET/Dados ce083/women.csv", row.names = FALSE, sep = ";", dec = ",")
write.table(women, file = "dados/women.csv", row.names = FALSE, sep = ";", dec = ",")
```
Os argumentos dessa função são:
......@@ -100,18 +101,3 @@ Os argumentos dessa função são:
* row.names = FALSE: para eliminar o nome das linhas do objeto.
* sep = ";": o separador de colunas (também pode ser "/t" para arquivos .txt e "" para espaços)
* dec = ",": o separador de decimais
......@@ -6,12 +6,11 @@ O programa R inclui funcionalidade para a geração de números aleatórios,
através do comando sample ou sample.int.
Quando for utilizar a função, basta combinar o comando acima com
o numéro que deseja aleatorizar, como por exemplo para geração 100 números
aleatórios usamos: sample(100) para 1000, sample(1000).
o numéro que deseja aleatorizar, como por exemplo para geração 20 números
aleatórios usamos: sample(100).
```{r,echo=TRUE}
sample(100)
sample(1000)
sample(20)
```
......@@ -19,7 +18,7 @@ A funções acima possuem argumentos adicionais, para os quais valores padrão
(default) foram assumidos, e que podem ser modificados. Usamos args para ver
os argumentos de uma função e help para visualizar a documentação detalhada:
```{r2 , echo=TRUE}
```{r , echo=TRUE}
args(sample)
help(sample)
......@@ -28,7 +27,7 @@ help(sample)
A função possuem os argumentos size que é o número de amostras, replace
que indica se a amostra deve ser feita com reposição (TRUE) ou sem reposição
(FALSE).
```{r3 , echo=TRUE}
```{r , echo=TRUE}
sample(1:12,6)
```
......@@ -46,6 +45,137 @@ sample(sexo,20,replace=TRUE)
## Distribuição de probabilidade
O programa R inclui funcionalidade para operações com distribuições de
probabilidades. Para cada distribuição há 4 operações básicas indicadas
pelas letras:
* d :calcula a densidade de probabilidade #colocar fx no ponto
* p :calcula a função de probabilidade acumulada #colocar FX no ponto
* q :calcula o quantil correspondente a uma dada probabilidade
* r :retira uma amostra da distribuição
Quando for utilizar as funções, basta combinar uma das letras acima com
uma abreviatura do nome da distribuição, como por exemplo para calcular
probabilidades usamos: pexp para exponencial, pnorm para normal, pbinom
para binomial, ppois para Poisson.
Mais detalhes da distribuição de probabilidades.
* Distribuição Normal
A funcionalidade para distribuição normal é implementada por argumentos
que combinam as letras acima com o termo norm. Vamos ver alguns exemplos
como a distribuição normal padrão. Por default as funções assumem a
distribuição normal padrão.
```{r}
pnorm(1)
dnorm(1)
qnorm(0.875)
rnorm(12)
```
o segundo valor acima corresponde ao valor da densidade da normal.
Com parâmetros no ponto . Portanto, o mesmo valor seria obtido substituindo
x por 1 na expressão da normal padrão:
$$
(1/sqrt(2*pi)) * exp((-1/2)*(1)^2)
$$
A função pnorm(1) calcula a probabilidade, o comando qnorm(0.875) calcula
o valor de tal que ,finalmente o comando rnorm(12) gera uma amostra de
12 elementos da normal padrão. Note que os valores que voce obtém rodando
este comando podem ser diferentes dos mostrados acima.
As funções acima possuem argumentos adicionais, para os quais valores padrão
(default) foram assumidos, e que podem ser modificados. Usamos args para ver
os argumentos de uma função e help para visualizar a documentação detalhada:
```{r}
args(rnorm)
```
As funções relacionadas à distribuição normal possuem os argumentos mean
e sd para definir média e desvio padrão da distribuição que podem ser
modificados como nos exemplos a seguir. Note nestes exemplos que os argumentos
podem ser passados de diferentes formas.
```{r}
qnorm(0.875, mean = 50, sd = 10)
qnorm(0.875, 50, 10)
```
Para informações mais detalhadas pode-se usar a função help.
help(rnorm)
O comando irá exibir em uma janela a documentação da função que pode também ser
chamada com ?rnorm. Note que ao final da documentação são apresentados exemplos
que podem ser rodados pelo usuário e que auxiliam na compreensão da funcionalidade.
Note também que as 4 funções relacionadas à distribuição normal são documentadas
conjuntamente, portanto help(rnorm), help(qnorm), help(dnorm) e help(pnorm) irão
exibir a mesma documentação.
Cálculos de probabilidades usuais, para os quais utilizávamos tabelas
estatísticas podem ser facilmente obtidos como no exemplo a seguir.
Seja uma v.a. com distribuição. Calcular as probabilidades:
Calcule estas probabilidades de forma usual, usando a tabela da normal.
Depois compare com os resultados fornecidos pelo R. Os comandos do R para
obter as probabilidades pedidas são:
```{r}
pnorm(95, 100, 10)
pnorm(110, 100, 10) - pnorm(90, 100, 10)
1 - pnorm(95, 100, 10)
pnorm(95, 100, 10, lower=F)
```
Note que a última probabilidade foi calculada de duas formas diferentes,
a segunda usando o argumento lower que implementa um algorítmo de cálculo
de probabilidades mais estável numericamente.
Agora vamos fazer gráficos de funções de probabilidade acumulada e de
densidade.
A Figura mostra gráficos da densidade (esquerda) e probabilidade
acumulada (direita) da normal padrão, produzidos com os comandos a seguir.
Para fazer o gráfico consideramos valores de entre -3 e 3 que correspondem
a + OU - quatro desvios padrões da média.
```{r}
plot(pnorm, -3, 3)
plot(dnorm, -3, 3)
```
A Figura apresenta gráficos de probabilidade acumulada(esquerda) e de
densidade(direita).
Note que, alternativamente, os mesmos gráficos poderiam ser produzidos
com os comandos a seguir.
Alguns comandos usuais do R podem ser usados para alterar a aparência
dos gráficos.
Como por exemplo, podemos incluir títulos e mudar texto dos eixos conforme
mostrado na gráfico da esquerda da Figura e nos dois primeiros comandos abaixo.
```{r}
plot(dnorm, -3, 3, xlab='valores de X', ylab='densidade de probabilidade')
title('Distribuicão Normal\nX ~ N(50, 60)')
plot(function(x) dnorm(x, 50, 8), 60, 140, ylab='f(x)')
plot(function(x) dnorm(x, 90, 8), 60, 140, add=T, col=2)
plot(function(x) dnorm(x, 100, 15), 60, 140, add=T, col=3)
```
## Intervalos de confiança e teste de hipótese
## Regressão linear e ANOVA
\ No newline at end of file
......@@ -21,7 +21,7 @@ As estruturas de controle mais usadas são:
- `ifelse`: Testa um condição e executa um bloco de código para `TRUE` e outro para `FAlSE`.
### `if`-`else`
## `if`-`else`
O `if`-`else` permite testar uma condição e e agir de acordo com com a resposta da condicional (`TRUE` ou `FALSE`).
A sintaxe dos comandos `if` - `else`, deve seguir a seguinte ordem:
......@@ -59,7 +59,7 @@ if(x > 3) {
}
```
### `for`
## `for`
O comando `for` executa um bloco de códigos em um determinado objeto. Por exemplo:
......@@ -90,7 +90,7 @@ for(i in x) {
```
### `while`
## `while`
O `while` começa com um teste condicional. Se ele for verdadeiro, o corpo do código é executado. Esse loop é executado até o condicional ser falso.
```{r}
......@@ -101,7 +101,7 @@ while(contador < 5) {
}
```
### `next` e `break`
## `next` e `break`
A função `next` é usada para pular uma interação do loop.
......@@ -131,7 +131,7 @@ for(i in 1:100) {
```
### `repeat`
## `repeat`
O `repeat` é um loop infinito sem condições pré-definidas para começar a ser executado. Com isso, é necessário a função `break()` parar a execução.
......@@ -150,7 +150,7 @@ repeat{
```
### `ifelse`
## `ifelse`
```{r}
x <- c(9, 2, 4, 8, 6)
......
# Linguagens de marcação
## LaTeX
##Markdown
\ No newline at end of file
This diff is collapsed.
No preview for this file type
This diff is collapsed.
"especie";"sexo";"FL";"RW";"CL";"CW";"BD"
"azul";"M";8,1;6,7;16,1;19;7
"azul";"M";8,8;7,7;18,1;20,8;7,4
"azul";"M";9,2;7,8;19;22,4;7,7
"azul";"M";9,6;7,9;20,1;23,1;8,2
"azul";"M";10,8;9;23;26,5;9,8
"azul";"M";11,6;9,1;24,5;28,4;10,4
"azul";"M";11,8;10,5;25,2;29,3;10,3
"azul";"M";12,3;11;26,8;31,5;11,4
"azul";"M";12,6;10;27,7;31,7;11,4
"azul";"M";12,8;10,9;27,4;31,5;11
"azul";"M";12,9;11;26,8;30,9;11,4
"azul";"M";13,1;10,6;28,2;32,3;11
"azul";"M";13,9;11,1;29,2;33,3;12,1
"azul";"M";15;10,9;31,4;36,4;13,2
"azul";"M";15;11,5;32,4;37;13,4
"azul";"M";15;11,9;32,5;37,2;13,6
"azul";"M";15,2;12,1;32,3;36,7;13,6
"azul";"M";15,4;11,8;33;37,5;13,6
"azul";"M";15,7;12,6;35,8;40,3;14,5
"azul";"M";15,9;12,7;34;38,9;14,2
"azul";"M";16,1;12,8;34,9;40,7;15,7
"azul";"M";16,2;13,3;36;41,7;15,4
"azul";"M";16,3;12,7;35,6;40,9;14,9
"azul";"M";16,6;13,5;38,1;43,4;14,9
"azul";"M";16,8;12,8;36,2;41,8;14,9
"azul";"M";16,9;13,2;37,3;42,7;15,6
"azul";"M";17,1;12,6;36,4;42;15,1
"azul";"M";18;13,7;39,2;44,4;16,2
"azul";"M";18,8;15,8;42,1;49;17,8
"azul";"M";19,3;13,5;41,6;47,4;17,8
"azul";"M";19,3;13,8;40,9;46,5;16,8
"azul";"M";19,7;15,3;41,9;48,5;17,8
"azul";"M";19,8;14,2;43,2;49,7;18,6
"azul";"M";21,3;15,7;47,1;54,6;20
"azul";"F";7,2;6,5;14,7;17,1;6,1
"azul";"F";9;8,5;19,3;22,7;7,7
"azul";"F";9,1;8,1;18,5;21,6;7,7
"azul";"F";NA;8,2;19,2;22,2;NA
"azul";"F";9,8;8,9;20,4;23,9;8,8
"azul";"F";10,1;9,3;20,9;24,4;8,4
"azul";"F";10,3;9,5;21,3;24,7;8,9
"azul";"F";10,4;9,7;21,7;25,4;8,3
"azul";"F";10,8;9,5;22,5;26,3;9,1
"azul";"F";11;9,8;22,5;25,7;8,2
"azul";"F";11,2;10;22,8;26,9;9,4
"azul";"F";11,5;11;24,7;29,2;10,1
"azul";"F";11,6;11;24,6;28,5;10,4
"azul";"F";11,6;11,4;23,7;27,7;10
"azul";"F";11,7;10,6;24,9;28,5;10,4
"azul";"F";11,9;11,4;26;30,1;10,9
"azul";"F";12;10,7;24,6;28,9;10,5
"azul";"F";12;11,1;25,4;29,2;11
"azul";"F";12,6;12,2;26,1;31,6;11,2
"azul";"F";12,8;11,7;27,1;31,2;11,9
"azul";"F";13,1;11,5;27,6;32,6;11,1
"azul";"F";13,2;12,2;27,9;32,1;11,5
"azul";"F";13,4;11,8;28,4;32,7;11,7
"azul";"F";13,7;12,5;28,6;33,8;11,9
"azul";"F";13,9;13;30;34,9;13,1
"azul";"F";14,7;12,5;30,1;34,7;12,5
"azul";"F";14,9;13,2;30,1;35,6;12
"azul";"F";15;14,2;32,8;37,4;14
"azul";"F";15,1;13,3;31,8;36,3;13,5
"azul";"F";15,1;13,5;31,9;37;13,8
"azul";"F";15,1;13,8;31,7;36,6;13
"azul";"F";15,2;14,3;33,9;38,5;14,7
"azul";"F";15,3;14,2;32,6;38,3;13,8
"azul";"F";15,5;13,8;33,4;38,7;14,7
"azul";"F";15,6;13,9;32,8;37,9;13,4
"azul";"F";15,6;14,7;33,9;39,5;14,3
"azul";"F";15,8;15;34,5;40,3;15,3
"azul";"F";16,2;15,2;34,5;40,1;13,9
"azul";"F";16,4;14;34,2;39,8;15,2
"azul";"F";16,7;16,1;36,6;41,9;15,4
"azul";"F";17,4;16,9;38,2;44,1;16,6
"azul";"F";17,5;16,7;38,6;44,5;17
"azul";"F";19,2;16,5;40,9;47,9;18,1
"laranja";"M";9,1;6,9;16,7;18,6;7,4
"laranja";"M";10,7;8,6;20,7;22,7;9,2
"laranja";"M";11,4;9;22,7;24,8;10,1
"laranja";"M";12,5;9,4;24,2;27;11,2
"laranja";"M";12,7;10,4;26;28,8;12,1
"laranja";"M";13,2;11;27,1;30,4;12,2
"laranja";"M";13,4;10,1;26,6;29,6;12
"laranja";"M";14;11,5;29,2;32,2;13,1
"laranja";"M";14,1;10,4;28,9;31,8;13,5
"laranja";"M";14,1;10,7;28,7;31,9;13,3
"laranja";"M";14,2;10,6;28,7;31,7;12,9
"laranja";"M";14,2;10,7;27,8;30,9;12,7
"laranja";"M";14,2;11,3;29,2;32,2;13,5
"laranja";"M";14,6;11,3;29,9;33,5;12,8
"laranja";"M";15,4;11,1;30,2;33,6;13,5
"laranja";"M";15,7;12,2;31,7;34,2;14,2
"laranja";"M";16,2;11,8;32,3;35,3;14,7
"laranja";"M";16,3;11,6;31,6;34,2;14,5
"laranja";"M";17,1;12,6;35;38,9;15,7
"laranja";"M";17,5;12;34,4;37,3;15,3
"laranja";"M";17,8;12,5;36;39,8;16,7
"laranja";"M";17,9;12,9;36,9;40,9;16,5
"laranja";"M";18;13,4;36,7;41,3;17,1
"laranja";"M";18,4;13,4;37,9;42,2;17,7
"laranja";"M";18,6;13,4;37,8;41,9;17,3
"laranja";"M";18,6;13,5;36,9;40,2;17
"laranja";"M";18,8;13,4;37,2;41,1;17,5
"laranja";"M";19,4;14,1;39,1;43,2;17,8
"laranja";"M";19,4;14,4;39,8;44,3;17,9
"laranja";"M";20,6;14,4;42,8;46,5;19,6
"laranja";"M";21;15;42,9;47,2;19,4
"laranja";"M";21,5;15,5;45,5;49,7;20,9
"laranja";"M";21,6;15,4;45,7;49,7;20,6
"laranja";"M";23;16,8;47,2;52,1;21,5
"laranja";"M";23,1;15,7;47,6;52,8;21,6
"laranja";"F";10,7;9,7;21,4;24;9,8
"laranja";"F";11,4;9,2;21,7;24,1;9,7
"laranja";"F";12,5;10;24,1;27;10,9
"laranja";"F";12,6;11,5;25;28,1;11,5
"laranja";"F";14;11,9;27;31,4;12,6
"laranja";"F";14;12,8;28,8;32,4;12,7
"laranja";"F";14,3;12,2;28,1;31,8;12,5
"laranja";"F";14,7;13,2;29,6;33,4;12,9
"laranja";"F";14,9;13;30;33,7;13,3
"laranja";"F";15;12,3;30,1;33,3;14
"laranja";"F";15,6;13,5;31,2;35,1;14,1
"laranja";"F";15,6;14;31,6;35,3;13,8
"laranja";"F";15,6;14,1;31;34,5;13,8
"laranja";"F";15,7;13,6;31;34,8;13,8
"laranja";"F";16,1;13,7;31,4;36,1;13,9
"laranja";"F";16,2;14;31,6;35,6;13,7
"laranja";"F";16,7;14,3;32,3;37;14,7
"laranja";"F";17,1;14,5;33,1;37,2;14,6
"laranja";"F";17,5;14,4;34,5;39;16
"laranja";"F";17,5;14,7;33,3;37,6;14,6
"laranja";"F";17,6;14;34;38,6;15,5
"laranja";"F";18;14,9;34,7;39,5;15,7
"laranja";"F";18;16,3;37,9;43;17,2
"laranja";"F";18,3;15,7;35,1;40,5;16,1
"laranja";"F";18,4;15,5;35,6;40;15,9
"laranja";"F";18,4;15,7;36,5;41,6;16,4
"laranja";"F";18,5;14,6;37;42;16,6
"laranja";"F";18,6;14,5;34,7;39,4;15
"laranja";"F";18,8;15,2;35,8;40,5;16,6
"laranja";"F";19,1;16;37,8;42,3;16,8
"laranja";"F";19,1;16,3;37,9;42,6;17,2
"laranja";"F";19,7;16,7;39,9;43,6;18,2
"laranja";"F";19,9;16,6;39,4;43,9;17,9
"laranja";"F";20;16,7;40,4;45,1;17,7
"laranja";"F";20,1;17,2;39,8;44,1;18,6
"laranja";"F";NA;16;39,4;44,1;NA
"laranja";"F";20,5;17,5;40;45,5;19,2
"laranja";"F";20,9;16,5;39,9;44,7;17,5
"laranja";"F";21,3;18,4;43,8;48,4;20
"laranja";"F";21,4;18;41,2;46,2;18,7
"laranja";"F";21,7;17,1;41,7;47,2;19,6
"laranja";"F";21,9;17,2;42,6;47,4;19,5
"laranja";"F";22,5;17,2;43;48,7;19,8
"laranja";"F";23,1;20,2;46,2;52,5;21,1
"height";"weight"
58;115
59;117
60;120
61;123
62;126
63;129
64;132
65;135
66;139
67;142
68;146
69;150
70;154
71;159
72;164
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment