Nesta prática veremos como:
Se você está vindo diretamente da Prática 1, apenas vamos carregar o(s) objeto(s) do arquivo tabela1.Rdata salvo. Não esqueça que seu diretório de trabalho precisa ser a pasta que contém a tabela1, ou indique todo o caminho até ele junto com o nome do arquivo.
load("tabela1.Rdata") #Carrega o(s) objeto(s) salvo(s) no arquivo contido no diretório de trabalho
load("~/Downloads/Arquivos_workshop-master/R_intro/tabela1.Rdata") #Caso você não esteja no diretório que contém o arquivo, mostre o caminho até ele. Mas aconselho que você esteja, vai facilitar seu trabalho
Caso você não tenha a “tabela1” criada na Prática 1, corra os comandos abaixo:
tabela1 <- data.frame( Cinit = c(0.3, 0.6, 0.7, 0.4), Vinit = c(3.5, 2.3, 1.7, 3.2), Cfin = rep(0.25, 4), Vfin = c(4.2, 5.52, 4.76, 5.12), Massa = c(1.05, 1.38, 1.19, 1.28))
row.names(tabela1) <- c("Na", "K", "Mg", "Ca")
Os formatos mais utilizados para exportação de dados do R são o .csv (comma-separated values), .txt (text files) e .tsv (tab-separated values) pois esses formatos não são vinculados a um programa específico (mesmo o bloco de notas pode edita-los). Além desses, o R possui muitas possibilidades de formatos, e também pode incluir o auxílio de pacotes como o “xlsx” para exportação no formato de Excel e o “foreign” para formatos compatíveis com Minitab, S, SAS, SPSS, Stata, Systat entre outros.
Não é o caso da nossa pobre “tabela1”, mas é comum que data frames criadas no R sejam grandes, na verdade essa é uma das vantagens do R em relação a programas, portanto tenha cautela ao abrir esses arquivos no Excel, por exemplo, cuja parte gráfica poderá ficar muito lenta.
#Para exportação da tabela1 em formato csv
write.csv(tabela1, "tabela1.csv", row.names=TRUE)
#Como denominados as linhas, é útil para nos mantermos seus nomes
#Veja o que acontece se usarmos row.names=FALSE
#Repare que se você não alterar o nome do arquivo, ele vai substituir o já existinte sem perguntar se pode, portanto tome cuidado com isso
#Para exportar em formato .txt
write.table(tabela1, "tabela1.txt", sep="\t", row.names = TRUE, col.names=TRUE)
#Visualize a diferença entre os arquivos abrindo-os no bloco de notas.
O primeiro passo para trazer dados para dentro do R é ter um arquivo de dados. Pode ser um arquivo que você já tenha no seu diretório de trabalho, ou você pode adquirir dados diretamente da internet, pois existem inúmeros bancos disponíveis.
#Para adquirir a tabela da internet é esse comando que você deve rodar
alturas <- read.table("https://onlinecourses.science.psu.edu/stat501/sites/onlinecourses.science.psu.edu.stat501/files/data/stat_females.txt", sep="\t", dec=".", head = TRUE)
#Se ela esta em uma pasta no seu computador:
alturas <- read.table("~/Downloads/Arquivos_workshop-master/R_intro/stat_females.txt", sep="\t", dec=".", head = TRUE)
Observe que nos argumentos da função, além de indicar o local onde encontrar o dado, é preciso especificar algumas características caso elas sejam diferentes do padrão aceito pela função. Obtenha mais informações a respeito utilizando “?read.table”. No caso acima, indicamos que a separação das colunas é por tabulação, a separação de decimais é por ponto e que existe um cabeçalho.
Os dados que importamos são referentes a altura em polegadas de 214 alunas da Universidade da Califórnia - Davis e de seus respectivos pais. Observe algumas características dos dados:
head(alturas) #Mostra as seis primeiras linhas mais o cabeçalho
tail(alturas) #Mostra as seis últimas linhas mais o cabeçalho
#Você também pode obter facilmente algumas estatísticas descritivas como valores máximo e mínimo, média, mediana e 1º e 3º quartis.
summary(alturas)
#Também é possível verificar as dimensões da tabela com:
dim(alturas)
Também podemos visualizar a relação entre os dados com gráficos:
#Scatter plot para relação entre altura da aluna e da mãe
plot(alturas$Height, alturas$momheight)
#Scatter plot para relação entre altura da aluna e do pai
plot(alturas$Height, alturas$dadheight)
#Podemos enfeitar um pouco, alterando o nome dos eixos, as cores e colocando títulos
plot(alturas$Height, alturas$momheight, main= "Aluna_Mãe",
xlab = "Aluna", ylab= "Mãe", col="red", col.axis="purple",
col.lab="purple", col.main="pink")
plot(alturas$Height, alturas$dadheight, main= "Aluna_Pai",
xlab = "Aluna", ylab= "Pai", col= colors()[490], col.axis= colors()[589],
col.lab= colors()[562], col.main= colors()[490])
Os números usados para descrever as cores funcionam num sistema hexadecimal (assim como o binário é na base 2, o hexadecimal é na base 16) adotado pelo R o que fornece muitas possibilidades de cores. Observe um exemplo de quadro de cores aqui.
Agora realizaremos uma regressão linear simples, dessa forma podemos traçar a “linha de tendência” que fazemos no excel, ajustando um modelo linear.
plot(alturas$Height, alturas$momheight) # plot(x,y)
rmom <- lm(alturas$momheight ~ alturas$Height) #Regressão linear, o sinal "~" estabelece uma relação de y = ax + b da regressão linear, portanto é que esteja nessa ordem: y ~ x
abline(rmom) #Com esse comando a linha será traçado no último gráfico que foi gerado
plot(alturas$Height, alturas$dadheight)
rdad <- lm(alturas$dadheight ~ alturas$Height)
abline(rdad)
Este foi apenas um exemplo simples, o R tem capacidade de criar gráficos incríveis através de pacotes como o ggplot2.
Caso queira praticar os conhecimentos adquiridos em outros conjuntos de dados, o próprio R disponibiliza, para fins principalmente didáticos, aproximadamente 100 conjunto de dados que são listados com o comando data().
data() #Abre lista dos conjuntos de dados disponíveis
?cars #Para obter informações sobre o conjunto de dados
data(cars) #Carrega o conjunto para o seu ambiente global
Este material faz parte do mini-curso de “Introdução ao R” do IX Workshop de Férias em Genética e Melhoramento de Plantas organizado pelos alunos de pós-graduação do programa de Genética e Melhoramento de Plantas da ESALQ-USP.