====== Alguns comandos digitados no primeiro dia do curso ======
**Definindo e organizando a área de trabalho -- onde estou?**
## criando um diretório (pasta) na área do usuário
## na linha de comando do LINUX (antes de entrar no R) digitar:
## $ mkdir cursoR
## ou ... de dentro do R
## system("mkdir ~/cursoR")
## inspecionando e definindo a área de trabalho
getwd()
setwd("~/cursoR")
getwd()
**Operações**
O R faz contas como uma calculadora...
3+2
log(10)/sqrt(20)
5*exp(-20/10)
**Criando objetos / atribuindo valores / definindo vetores**
x <- 3
x
x = 3
y <- 4
y
z <- 4:8
z
10:20 -> w
## ou seja, pode usar "<-" , "=" ou mesmo "->"
## gravando os objetos em disco
save.image()
## concatenando vetores
todos <- c(x, y, z, w)
todos
## apagando objetos
rm(x, y, z, w)
## definindo outro vetor usando a função scan para entrar com dados
#x <- scan()
#1: 5
#2: 1
#3: 8
#4: 12
#5: 3
#6:
## que é o mesmo que
x <- c(5, 1, 8, 12, 3)
## [ ] seleciona partes do objeto
x[2] ## segundo elemento
x[2:3] ## segundo e terceiro elemento
x[2:4] ## segundo a quarto elemento
x[c(3, 5)] # terceiro e quinto elemento
rev(x) # reverte a ordem dos elementos de x
## vetor de caracters
pessoas <- c("João", "Maria", "Pedro")
## estruturas dos objetos... numéricos e caracteres
str(x)
str(pessoas)
## podemos converter de precisão dupla para inteiro
xi <- as.integer(x)
str(x)
**Definindo um data-frame que é um agrupamento de vetores**
## o seguinte comando abre uma tela para digitação de dados
##df <- edit(data.frame())
## .. que é o mesmo que digitar
df <- data.frame(c("João", "Maria", "Pedro"), c(23, 25, 28))
df
## veja a estrutura do objeto
# dimensao do objeto
dim(df)
## selecionando linhas e colunas do objeto
df$var1
df$var2
df[,1]
df[,2]
df[2,]
df[2:3,]
df[2:3,1]
df[c(1,3),2]
**Lendo/importando dados de um arquivo**
ex01 <- read.table("exemplo01.txt") ## nao ficou bom...primeira linha não sao dados
ex01
head(ex01) # mostra as linhas iniciais do objeto
str(ex01) # estrutura dos dados
ex01 <- read.table("exemplo01.txt", head=T) ## leitura correta!
## note que uma coluna é de "fator" (factor)
str(ex01)
ex01
head(ex01)
## calculando a média de "resp" para cada grupo de "trat"
with(ex01, tapply(resp, trat, mean))
## armazenando em um objeto
mTrat <- with(ex01, tapply(resp, trat, mean))
mTrat
mTrat <- with(ex01, tapply(resp, trat, median))
## calculando outras medidas
with(ex01, tapply(resp, trat, median))
with(ex01, tapply(resp, trat, sd))
with(ex01, tapply(resp, trat, summary))
## calculando uma medida nao definida no R: definindo uma função
CV <- function(x) {100*sd(x)/mean(x)}
with(ex01, tapply(resp, trat, CV))
## arredondando saida para 2 casas decimais
round(with(ex01, tapply(resp, trat, CV)), dig=2)
## calculando varias medidas escolhidas para cada grupo
meuResumo <- function(x){c(mean(x), sd(x), CV(x))}
with(ex01, tapply(resp, trat, meuResumo))
## acrescentando nomes das medidas
meuResumo <- function(x){c(media=mean(x), devio=sd(x), CV=CV(x))}
with(ex01, tapply(resp, trat, meuResumo))
## detalhes sobre o uso da função
?tapply
** Gravando em disco (arquivo .RData) objetos da área de trabalho**
save.image()
**Saindo do R**
q()