Funções incorporadas no R
Quase tudo no R é feito por meio de funções. Aqui, estou me referindo apenas a funções numéricas e de caracteres que são comumente usadas na criação ou recodificação de variáveis.
(Para praticar o trabalho com funções, faça o curso R Intermediário).
Funções numéricas
Função | Descrição |
abs(x) | valor absoluto |
sqrt(x) | raiz quadrada |
ceiling(x) | O teto(3,475) é 4 |
floor(x) | piso(3,475) é 3 |
trunc(x) | trunc(5.99) é 5 |
redondo(x , digits= n) | round(3,475, digits=2) é 3,48 |
signif(x , digits= n) | signif(3,475, digits=2) é 3,5 |
cos(x), sin(x), tan(x) | also acos(x), cosh(x), acosh(x), etc. |
log(x) | logaritmo natural |
log10(x) | logaritmo comum |
exp(x) | e^x |
Funções de caracteres
Função | Descrição |
substr(x , start= n1 , stop= n2) | Extraia ou substitua substrings em um vetor de caracteres. x <- "abcdef" substr(x, 2, 4) is "bcd" substr(x, 2, 4) <- "22222" is "a222ef" |
grep(pattern , x , ignore.case= FALSE , fixed= FALSE ) | Procure um padrão em x. Se fixed =FALSE, então o padrão é uma expressão regular. Se fixed=TRUE, o padrão será uma cadeia de texto. Retorna os índices correspondentes. grep("A", c("b", "A", "c"), fixed=TRUE) retorna 2 |
sub(pattern , replacement , x , ignore.case = FALSE , fixed= FALSE ) | Encontre o padrão em x e substitua-o pelo texto de substituição. Se fixed=FALSE, o padrão será uma expressão regular. Se fixed = T, então o padrão é uma cadeia de caracteres de texto. sub("\s",".", "Hello There") retorna "Hello.There" |
strsplit(x , split) | Dividir os elementos do vetor de caracteres x em split.strsplit("abc", "") retorna um vetor de 3 elementos "a", "b", "c" |
paste(..., sep="") | Concatena cadeias de caracteres depois de usar a cadeia de caracteres sep para separá-las.paste("x",1:3,sep="") retorna c("x1", "x2" "x3")paste("x",1:3,sep="M") retorna c("xM1", "xM2" "xM3")paste("Today is", date()) |
toupper(x) | Maiúsculas |
tolower(x) | Minúsculas |
Funções de probabilidade estatística
A tabela a seguir descreve as funções relacionadas às distribuições de probabilidade. Para os geradores de números aleatórios abaixo, você pode usar set.seed(1234) ou algum outro número inteiro para criar números pseudoaleatórios reproduzíveis.
Função | Descrição |
dnorm(x) | função de densidade normal (por padrão m=0 sd=1)# plotar curva normal padrãox <- pretty(c(-3,3), 30)y <- dnorm(x) plot(x, y, type='l', xlab="Normal Deviate", ylab="Density", yaxs="i") |
pnorm(q) | A probabilidade normal cumulativa para q(área sob a curva normal à esquerda de q)pnorm(1,96) é 0,975 |
qnorm(p) | quantil normal. valor no percentil p da distribuição normalqnorm(.9) é 1,28 # 90º percentil |
rnorm(n, m=0, sd=1) | n desvios normais aleatórios com média m e desvio padrão sd. #50 variantes normais aleatórias com média=50, sd=10x <- rnorm(50, m=50, sd=10) |
dbinom(x, tamanho, prob)pbinom(x, tamanho, prob)qbinom(p, tamanho, prob)rbinom(n, tamanho, prob) | distribuição binomial em que tamanho é o tamanho da amostra e prob é a probabilidade de uma cara (pi)# probabilidade de 0 a 5 caras de uma moeda justa em 10 jogadasdbinom(0:5, 10, .5)# probabilidade de 5 ou menos caras de uma moeda justa em 10 jogadaspbinom(5, 10, .5) |
dpois(x,lamda)ppois(x,lamda)qpois(x,lamda)rpois(x,lamda) | distribuição de poisson com m=std=lamda#probabilidade de 0,1 ou 2 eventos com lamda=4dpois(0:2, 4)#probabilidade de pelo menos 3 eventos com lamda=41- ppois(2,4) |
dunif(x, min=0, max=1)punif(x, min=0, max=1)qunif(x, min=0, max=1)runif(x, min=0, max=1) | distribuição uniforme, segue o mesmo padrão da distribuição normal acima.#10 variantes aleatórias uniformes x <- runif(10) |
Outras funções estatísticas
Outras funções estatísticas úteis são fornecidas na tabela a seguir. Cada um deles tem a opção na.rm para eliminar os valores ausentes antes dos cálculos. Caso contrário, a presença de valores ausentes levará a um resultado ausente. O objeto pode ser um vetor numérico ou um quadro de dados.
Função | Descrição |
mean(x ,trim=0,na.rm= FALSE ) | média do objeto x# média aparada, removendo quaisquer valores ausentes e# 5% das pontuações mais altas e mais baixasmx <- mean(x,trim=.05,na.rm=TRUE) |
sd(x) | desvio padrão de object(x). Observe também var(x) para a variância e mad(x) para o desvio absoluto médio. |
mediana(x) | mediana |
quantil(x , probs) | quantiles em que x é o vetor numérico cujos quantis são desejados e probs é um vetor numérico com probabilidades em [0,1].# 30º e 84º percentis de xy <- quantile(x, c(.3,.84)) |
range(x) | alcance |
sum(x) | sum |
diff(x , lag= 1) | diferenças defasadas, com a defasagem indicando a defasagem a ser usada |
min(x) | mínimo |
max(x) | máximo |
scale(x , center= TRUE , scale= TRUE ) | centralizar a coluna ou padronizar uma matriz. |
Outras funções úteis
Função | Descrição |
seq(de , to , por) | gerar uma sequênciaindices <- seq(1,10,2)#indices is c(1, 3, 5, 7, 9) |
rep(x , ntimes) | repetir x n vezesy <- rep(1:3, 2)# y é c(1, 2, 3, 1, 2, 3) |
cut(x , n) | dividir a variável contínua em um fator com n níveisy <- cut(x, 5) |
Observe que, embora os exemplos desta página apliquem funções a variáveis individuais, muitos deles também podem ser aplicados a vetores e matrizes.