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.