Você está na página 1de 7

Introdução

R é uma linguagem de programação e software livre para estatística e gráficos. Ela foi criada por
Ross Ihaka e Robert Gentleman em 1993 e é amplamente utilizada em áreas como ciência de dados, es-
tatística, pesquisa e análise de dados. R possui uma grande comunidade ativa que contribui com pacotes e
ferramentas adicionais para a linguagem. Ele é compatível com vários sistemas operacionais, incluindo
Windows, Mac e Linux. R é amplamente utilizado tanto em ambientes acadêmicos quanto em indústrias,
como financeira, de saúde e de tecnologia da informação.
Algumas das características da linguagem são:
1. É uma linguagem de programação de alto nível, baseada em S, que foi desenvolvida para a análise
estatística e gráfica.
2. Possui uma grande variedade de bibliotecas e pacotes para análise de dados, visualização de dados
e modelagem estatística.
3. É gratuita e de código aberto, o que significa que qualquer pessoa pode usá-la e contribuir para o
seu desenvolvimento.
4. Possui uma sintaxe simples e intuitiva, o que a torna fácil de aprender.
5. Possui uma comunidade ativa e grande de usuários, o que significa que existem muitos recursos
disponíveis para ajudar os usuários a aprender e usar a linguagem.
6. Possui uma série de ferramentas para análise de dados, criação de gráficos e modelos estatísticos.
7. É altamente portátil, o que significa que pode ser usada em muitas plataformas diferentes, como
Windows, Mac e Linux.
1. Ler um arquivo .csv
dados <- read.csv2("caminho",header=True,sep=",",quote=’"’). Exemplo: dados <-
read.csv2("˜/Html/peso.csv",header=T,sep=",",quote=’"’). Neste exemplo, estamos indicando que o sepa-
rador de colunas é "," (sep=",") e o arquivo contem um cabeçalho (header=True ou header=T).

2. Ler a coluna 1 (eixo x) e coluna 2 (eixo y) separadamente


Suponha, por exemplo, que um arquivo dados (que foi lido anteriormente) tenha as seguintes colunas
"Data" e "Massa". Podemos invocar cada coluna da seguinte forma:
dados$Data ou dados$Massa

0. Calcular média e desvio padrão de dados


Calcular, por exemplo, a média dos dados de dados$Massa ☞ mean(data$Massa) e o desvio padrão
(sd) como ☞ sd(data$Massa)

0. Calcular máximo e mínimo de dados


Calcular, por exemplo, o valor máximo dos dados de dados$Massa ☞ max(data$Massa) e o mínimo
☞ min(data$Massa)

1. Plotar dados e uma linha horizontal


Plotar a o diagrama de dispersão da massa com uma linha horizontal, correpondente a média da
massa e duas linhas horizontais correpondendo a média +- desvio padrão.
plot(data$Massa);abline(h=mean(data$Massa),col="red")
abline(h=(mean(data$Massa)+sd(data$Massa)),col="blue")
abline(h=(mean(data$Massa)-sd(data$Massa)),col="blue")

2. Imprimir as N primeiras linhas de um arquivo


Imprimir as N primeiras linhas de um arquivo. Exemplo: head(data,5)

3. Imprimir as N últimas linhas de um arquivo


Imprimir as N últimas linhas de um arquivo. Exemplo: tail(data,5)

4. Criar uma sequência númerica Exemplo: criar uma sequência para a massa, indo de 77kg a 86kg
variando de 1 kg ☞ seq(77,86,1)

5. Criar uma sequência com números aleatórios


Exemplo: gerar "N" números aleatórios entre "a" e "b". runif(N,a,b) ☞ runif(20,5,10)

6. Criar um histograma Exemplo: hist(data$Massa)

7. Estatística descritiva (Frequências) Exemplo: Criar uma lista de 100 notas de estudantes com valores
aleatórios entre 0 e 10 e distribuir as notas de acordo com a sequência (0-2,2-4,4-6,6-8.8-10).
• Criar os dados aleatórios: data <- runif(100,0,10)
• Criar uma sequência númerica para o intervalo: sn <- seq(0,10,2) (0-2,2-4,...8-10).
• Criar a distribuição de frequências: table(cut(data,sn,include.lowest=T))
Observação: O parâmetro, "include.lowest=T" serve para incluir os valores iniciais na distribuição
de frequências.
Para plotar o histograma, podemos usar ☞ hist(data,sn)
Observação: para tocar no gráfico e obter um valor, use: locator(1).
Para trocar a cor do gráfico - histograma.
hist(nota,inter,col = "magenta",border="white")

8. Análise de regressão
Use o seguinte modelo para ajuste lineares (lm) ☞ lm (y ˜ x) ☞ Exemplo: lm(data$Massa ˜
seq(1,112))

9. Anova
Use anova(objeto) onde objeto é o resultado de lm. Exemplo: anova(lm(data$Massa ˜ seq(1,112)))

Regressão quadrática
Exemplo ajustar um polinônio do segundo grau aos dados (-5,0),(0,10),(5,0).
Para fazer isso, podemos escrever: x<-c(-5,0,5) e y<-c(0,10,0) e em seguida usar o comando:
lm(y˜x+I(xˆ2))
Se estivermos interessados em obter apenas os coeficientes do polinômio, podemos usar:
reg<-lm(y˜x+I(xˆ2))
coefficients(reg)

Matrizes

10. Escrever matrizes Exemplo: matrix(c(1,2,3,0,1,2,0,4,5),3,3) irá escrever.


[,1] [,2] [,3]
[1,] 1 0 0
[2,] 2 1 4
[3,] 3 2 5

11. Operações com matrizes


• A+B (somar)
• A-B (subtrair)
• A%*%B (multiplicar)
• inv(A) (inversa)
• solve(A) (transposta)

12. Sistemas lineares


 x+y+z=6

 x + 2y + 2z = 9
 2x + y + 3z = 11

O sistema pode ser resolvido com Ax=B, conforme o exemplo abaixo. A solução pode ser obtida, no
R, por: solve(A,B)
A=matrix(c(1,1,2,1,2,1,1,2,3),3,3)
B=matrix(c(6,9,11),3,1)
solve(A,B)
[,1]
[1,] 3
[2,] 2
[3,] 1

Númerico
Resolver a seguinte equação 3(x-4)+2=x+6 que pode ser reescrita como 3(x-4)+2-x-6=0. Para calcu-
lar as raízes o R apressenta o comando uniroot que segue essa estrutura uniroot(f,c(a,b)), onde c(a,b)=[a,b]
é o intervalo da busca pela raiz.
f=function(x) 3*(x-4)+2-x-6
uniroot(f,c(0,10))
A saída do programa será:
$root [1] 8
$f.root [1] 0
$iter [1] 1
$init.it [1] NA
$estim.prec [1] 8

13. Integração numérica


f=function(x) xˆ2
integrate(f,0,2)

Gráficos
Plotar dois gráficos simultâneos
plot(bb);curve(83.87-0.03*x,col="red",add=T)
Use o comando "add=T" no último comando gráfico.

14. Salvar um gráfico em PDF


pdf(file="˜/Downloads/Grafico.pdf")
hist(nota,inter,col = "magenta",border="white")
dev.off()

15. Área hachurada de um gráfico - integração númerica


a=1;b=4;f=function(x) (xˆ2-5*x+6);integrate(f,a,b);curve(f,0,5,col=’blue’,lwd=4);poly-
gon(x=c(a,seq(a,b,0.1),b),y=c(0,f(seq(a,b,0.1)),0),col="pink")

16. Alterar a espessura da linha plotada em um gráfico


Para alterar a espessura dos traços dos gráficos na linguagem R, você pode usar a função "par()" para
definir o parâmetro "lwd" (linewidth).
Por exemplo, para definir a espessura dos traços para 2, você pode usar o seguinte código: par(lwd =
2)
17. Alterar o intervalo da escala de um gráfico
Para alterar o intervalo da escala dos gráficos na linguagem R, você pode usar a função xlim o ylim
para alterar o intervalo da escala dos eixos x e y, respectivamente. Por exemplo, para alterar o intervalo da
escala do eixo y para 0 a 90, você pode usar o seguinte código:
plot(data$ID,data$Massa,xlab="ID",ylab="Massa (kg)",ylim=c(0,90),col="blue")

18. Instalar o GGPLOT2


Para instalar o ggplot2 na linguagem R, você precisa abrir o console do R e digitar o seguinte co-
mando:
install.packages("ggplot2")
Após isso, você precisa confirmar a instalação digitando "y" e pressionar enter. O ggplot2 será então
instalado na sua linguagem R.

19. Acessar um pacote


Para acessar uma biblioteca na linguagem R, você precisa usar a função "library()". Por exemplo,
para acessar a biblioteca "ggplot2", você pode usar o seguinte comando: library(ggplot2).
20. Calcular distribuição binomial no R
Use dbinom(x=2, size = 10,prob = 0.03)
10!
Isso faz o cálculo de: P(2) = ⋅ 0. 032 ⋅ (1 − 0. 03)10−2
2!(10 − 2)!
21. Alterar o nome de tabelas
Isso irá carregar os bancos de dados existentes no R
data()
Iremos escolher o banco mtcars que contém informações sobre carros
data(mtcars)
Iremos criar uma tabela com as colunas "número de cilindros" e "tipos de transmissão em que ☞ 0 =
manual e ☞ 1 = automática"
dados<-table(mtcars$cyl,mtcars$am)
Vamos alterar o nome das linhas e colunas
rownames(dados)<-c("4cil","6cil","8cil")
colnames(dados)<-c("Manual","Automático")

22. Exportar para csv


Para salvar estes dados, do exemplo acima, em "csv", podemos escrever. write.csv2(dados, "˜/Down-
loads/dados.csv")
Para salvar sem o índice, use
write.csv2(dados,"˜/Downloads/jesse.csv",row.names=F)

23. Teste do Qui-Quadrado


Para realizar um teste do Qui-quadrado com o banco de dados "mtcars" do R, é necessário definir
uma hipótese nula e uma hipótese alternativa. Vamos considerar que a hipótese nula seja a de que não existe
relação entre o número de cilindros dos carros e o tipo de transmissão (manual ou automática), enquanto a
hipótese alternativa seria a de que existe uma relação entre essas variáveis.
Em seguida, podemos usar a função chisq.test() do R para realizar o teste. O código ficaria assim: pp
chisq.test(dados)
O resultado do teste é:
data: dados
X-squared = 8.7407, df = 2, p-value = 0.01265
O resultado do teste inclui o valor do Qui-quadrado, o número de graus de liberdade, o valor-p e uma
indicação sobre a hipótese nula. No nosso exemplo, o resultado pode indicar que o valor-p é menor que o
nível de significância escolhido (por exemplo, 0,05), o que significa que rejeitamos a hipótese nula e aceita-
mos a hipótese alternativa de que existe uma relação entre o número de cilindros e o tipo de transmissão.

24. Teste Z duas proporções Para fazer um teste Z de proporção entre duas médias na linguagem R, você
pode usar a função prop.test(), que recebe como parâmetros os números de sucessos e os tamanhos das
amostras dos dois grupos. A função retorna o valor p do teste, o intervalo de confiança e as estimativas das
proporções. Você pode encontrar um exemplo de como usar essa função no primeiro resultado da
pesquisa1. Por exemplo: suponha que em um determinado semestre 20 de um total de 239 estudantes não
tenham feito prova. Em um outro semestre este número foi de 15 estudantes num total de 376. Suponha,
por exemplo, que queremos comparar se as proporcões são estatisticamente diferentes. Para isso podemos
usar a função prop.teste(valor 1, valor 2)
prop.test(x = c(20, 15), n = c(239, 376))

25. Sair do R sem salvar a seção quit(’no’)

26. Plotar curvas de nível no R


x <- 10*1:nrow(volcano)
y <- 10*1:ncol(volcano)
filled.contour(x, y, volcano, color = terrain.colors, plot.axes = { axis(1); axis(2); points(500, 500)})

27. Plotar gráficos 3D no R


x <- c(0.1, 0.2, 0.3, 0.4, 0.5)
y <- c(1, 2, 3, 4, 5)
zfun <- function(a,b) {a*b * ( 0.9 + 0.2*runif(a*b) )}
z <- outer(x, y, FUN="zfun")
persp(x, y, z)

28. Plotar dois gráficos simultâneos no R


x <- seq(-2, 2, 0.05)
y1 <- pnorm(x)
y2 <- pnorm(x, 1, 1);plot(x,y1,type="l",col="red")
plot(x,y1,type="l",col="red")
lines(x,y2,col="green")

29. Capturar a saída de um comando


f<-function(x){3ˆx+2*x-40};dados<-uniroot(f,c(0,4));capture.output(dados)
Para captar só a parte númerica (excluindo, por exemplo, palavras como $root), podemos escrever.
output_numeric <- as.numeric(gsub(’[ˆ0-9.-]+’, ’’,dados))
Referências
• http://leg.ufpr.br/˜walmes/cursoR/guia_rapido_R.pdf
• Outro

Você também pode gostar