Menu
Coddy logo textTech

Folha de Consulta R

Última atualização

Hello World e atribuição

O operador de atribuição idiomático de R é <- (o operador = também funciona).

OperaçãoSintaxe
Exibir um valorprint("Hello, World!")
Exibir automaticamente (console)"Hello, World!"
Concatenar e exibircat("Hi", name, "\n")
Atribuir (idiomático)x <- 5
Atribuir (também válido)x = 5
Atribuição à direita5 -> x
Comentário# this is a comment
Executar um scriptRscript app.R

Tipos de dados e vetores

O vetor é a estrutura de dados fundamental de R; até um único valor é um vetor de comprimento 1.

OperaçãoSintaxe
Vetor numéricov <- c(1, 2, 3)
Vetor de caracteress <- c("a", "b")
Vetor lógicob <- c(TRUE, FALSE)
Sequência de inteiros1:10
Sequência com passoseq(0, 1, by = 0.1)
Repetir valoresrep(0, times = 5)
Tipos básicosnumeric, character, logical, integer, complex
Verificar / coagir tipoclass(x), as.numeric("42")

Operações com vetores

As operações são vetorizadas e aplicadas elemento a elemento; a indexação é base 1.

OperaçãoSintaxe
Acessar elemento (base 1)v[1]
Fatiar um intervalov[2:4]
Filtragem lógicav[v > 2]
Remover um elementov[-1]
Matemática elemento a elementov * 2, v1 + v2
Comprimentolength(v)
Redutores comunssum(v), mean(v), max(v)
Ordenar / invertersort(v), rev(v)
Vetor nomeadoc(a = 1, b = 2)

Data frames

Um data frame é uma tabela de colunas, cada uma um vetor de comprimento igual.

OperaçãoSintaxe
Criar um data framedf <- data.frame(name = c("Ada"), age = c(30))
Primeiras / últimas linhashead(df), tail(df)
Dimensõesnrow(df), ncol(df), dim(df)
Nomes das colunasnames(df), colnames(df)
Selecionar uma colunadf$age ou df[["age"]]
Selecionar linhas / colunasdf[1, ], df[, "age"]
Filtrar linhasdf[df$age > 18, ]
Adicionar uma colunadf$adult <- df$age >= 18
Estatísticas resumosummary(df)
Visão geral da estruturastr(df)

Fatores e listas

Fatores armazenam dados categóricos; listas guardam elementos de tipos mistos.

OperaçãoSintaxe
Criar um fatorf <- factor(c("low", "high"))
Níveis do fatorlevels(f)
Fator ordenadofactor(x, ordered = TRUE)
Contar por níveltable(f)
Criar uma listal <- list(name = "Ada", scores = c(1, 2))
Acessar por nomel$name ou l[["name"]]
Acessar por posiçãol[[1]]
Sublista (mantém lista)l[1]
Comprimento / nomeslength(l), names(l)

Controle de fluxo

As condições vão entre parênteses e os blocos entre chaves.

OperaçãoSintaxe
If / else if / elseif (x > 0) { ... } else if (x < 0) { ... } else { ... }
If-else vetorizadoifelse(v > 0, "pos", "neg")
Laço forfor (i in 1:10) { ... }
For sobre um vetorfor (x in v) { ... }
Laço whilewhile (x < 100) { ... }
Repeat com breakrepeat { if (done) break }
Switchswitch(key, a = 1, b = 2)
Operadores lógicos&&, ||, ! (escalar); &, | (vetor)

Funções

Funções são de primeira classe; a última expressão avaliada é retornada.

OperaçãoSintaxe
Definir uma funçãoadd <- function(a, b) { a + b }
Retorno explícitoreturn(a + b)
Argumento padrãogreet <- function(name = "World") { ... }
Argumento variádicof <- function(...) { sum(...) }
Chamar por nomebox(w = 2, h = 3)
Função anônimafunction(x) x * 2
Anônima (forma abreviada)\(x) x * 2
Passar para uma fn de ordem superiorsapply(1:3, function(x) x^2)

A família apply

Aplique uma função sobre dados sem escrever laços explícitos.

FunçãoO que faz
apply(m, 1, sum)Aplica sobre linhas (1) ou colunas (2) da matriz
sapply(v, f)Aplica sobre um vetor, simplifica para vetor/matriz
lapply(v, f)Aplica sobre um vetor, sempre retorna uma lista
vapply(v, f, numeric(1))Como o sapply, mas com tipo de retorno verificado
mapply(f, a, b)Aplica sobre vários vetores em paralelo
tapply(x, group, mean)Aplica uma função por grupo
Map(f, a, b)Apply multivariado que retorna uma lista
Reduce(+, v)Reduz um vetor com uma função binária

Funções comuns de manipulação de dados e estatística

Funções base usadas com frequência para resumir e remodelar dados.

FunçãoO que faz
mean(v) / median(v)Média / valor central
sd(v) / var(v)Desvio padrão / variância
min(v) / max(v) / range(v)Menor / maior / ambos
quantile(v)Quantis (ex.: quartis)
table(x)Contagens de frequência de valores
unique(v) / duplicated(v)Valores distintos / sinalizadores de duplicatas
is.na(v) / na.omit(df)Encontrar / remover valores ausentes
aggregate(y ~ g, df, mean)Resume y por grupo g
order(v)Ordem de índices para ordenação
cor(x, y)Correlação entre dois vetores

A sintaxe de R que você mais usa, em uma única página. Esta folha de consulta R é uma referência rápida para o núcleo da linguagem - atribuição e tipos de dados, vetores e operações com vetores, data frames, fatores e listas, controle de fluxo, funções e a família apply usada em toda a análise de dados em rstats.

Tudo aqui é R base e roda em uma instalação comum - sem pacotes extras necessários. Copie o que precisar ou teste cada trecho ao vivo no playground de R - sem necessidade de configuração.

Perguntas frequentes sobre a folha de consulta R

Esta folha de consulta R é gratuita?
Sim. Esta folha de consulta R é totalmente gratuita, sem necessidade de cadastro. Salve nos favoritos e volte sempre que precisar consultar uma operação de vetor, um método de data frame ou uma função estatística.
Os vetores de R são realmente indexados a partir de 1?
Sim. Diferentemente da maioria das linguagens de programação, a indexação em R começa em 1, então v[1] retorna o primeiro elemento e v[length(v)] retorna o último. Índices negativos têm um significado especial - v[-1] remove o primeiro elemento em vez de contar a partir do fim. Essa convenção de base 1 vale para vetores, listas e data frames igualmente.
O que é um data frame em R?
Um data frame é o tipo de tabela de R: uma coleção de colunas em que cada coluna é um vetor do mesmo comprimento, e diferentes colunas podem conter tipos diferentes (números, texto, fatores). É a estrutura padrão para conjuntos de dados - as linhas são observações e as colunas são variáveis - e você o indexa como df[rows, columns], seleciona uma coluna com df$name e o inspeciona com str(df) ou summary(df).
Posso praticar R online?
Sim. Abra o playground de R para executar qualquer trecho desta folha de consulta no seu navegador - sem R nem RStudio para instalar. Quando quiser estrutura, o curso interativo e gratuito de R da Coddy leva você passo a passo de vetores e data frames à família apply e à estatística.
Esta folha de consulta é boa para iniciantes?
Sim. Ela está organizada dos tópicos mais comuns (atribuição, vetores, data frames) até os avançados (a família apply e as funções estatísticas), de modo que você pode usar as seções de cima já no primeiro dia e ir avançando para o resto.
Coddy programming languages illustration

Aprenda R com a Coddy

COMEÇAR