A função aplicar() é absolutamente uma das capacidades mais valiosas. Tive medo dela durante algum tempo e não quis utilizá-la. No entanto, faz com que o código seja tão rápido de compor que não podemos suportar o custo de não utilizá-lo. Na hipótese de que você se pareça comigo, que você não vai utilizar se aplica com o argumento de que é alarmante, perused as linhas que o acompanham, ele irá apoiá-lo. Você precisa perceber como utilizar o apply() quando tudo está dito, com uma capacidade caseira ou com alguns parâmetros? Nesse momento, vá ver os modelos que o acompanham.
A função apply() é conhecida como incrivelmente valiosa para melhorar a velocidade do nosso código quando precisamos de trabalhar algumas capacidades numa rede ou num vector. Eu a uso, mas geralmente não tenho a mais nebulosa idéia de como utilizá-la.
O que está a acontecer aqui?
apply() é um trabalho de R que capacita a realizar tarefas rápidas na malha, vetor ou exposição. As tarefas devem ser possíveis nas linhas, nos segmentos ou mesmo nos dois.
Como pode funcionar?
O exemplo é extremamente básico: aplicar(variável, borda, trabalho).
– a variável é a variável à qual você precisa aplicar a capacidade.
– edge determina na chance de fora que você precisa aplicar por empurrar (edge = 1), por segmento (edge = 2), ou para cada componente (edge = 1:2). Borda pode ser muito mais notável do que 2, na chance de fora que nós trabalhamos com fatores de medida mais proeminentes do que dois.
– trabalho é a capacidade que você precisa para aplicar aos componentes da sua variável.
Como eu acho que o modelo é mais claro do que tudo, aqui está o guia mais significativo para compreender a capacidade aplicada()
Introdução:
#a matriz em que vamos trabalhar:
a = matriz(c(1:15), fila = 5 , ncol = 3)
# aplicará a função média a todos os elementos de cada aplicação de linha
(a, 1, média)
# [1] 6 7 8 9 10
# aplicará a função média a todos os elementos de cada coluna
Aplicar(a, 2, média)
# [1] 3 8 13
# aplicará a função média a todos os elementos de cada coluna e de cada linha,
ou seja, cada elementapply
(a, 1:2, média)
# [,1] [,2] [,3]
# [1,] 1 6 11#
[2,] 2 7 12#
[3,] 3 8 13#
[4,] 4 9 14#
[5,] 5 10 15
Recentemente demos um tiro nos vários cantos para mostrar os resultados fundamentais concebíveis. Seja como for, como eu disse, também podemos tentar diferentes fatores, por exemplo, uma variedade de medidas 3:
#apply() para array
de outras dimensões :
a = array(1:8, dim = c(2,2,2))
apply(a, 3, sum)
# , , 1##
[,1] [,2]
# [1,] 1 3#
[2,]
2 4##
, , 2##
[,1]
[,2]# [1,] 5
7#
[2,]
6 8
Use uma função feita em casa:
Também podemos usar a nossa própria função. Por exemplo, reproduzimos a soma da função (absolutamente inútil, mas vamos mantê-la simples!).
f1 = function(x){
return(sum(x))}apply
(a, 1, f1)
Aqui você encontrará notícias diárias e
tutoriais sobre R, contribuídos por centenas de blogueiros.
Há muitas maneiras de nos seguir –
Por
e-mail:
No Facebook:
Se você mesmo é um blogueiro R, você está convidado a adicionar
seu próprio conteúdo R a este site
(blogueiros que não sejam R em inglês devem se adicionar – aqui)
A função apply() é certamente uma das funções mais úteis. Eu tive medo dela durante algum tempo e recusei-me a usá-la. Mas torna o código tão mais rápido de escrever e tão eficiente que não podemos nos dar ao luxo de não usá-la. Se você é como eu, que você se recusa a usar o apply porque é assustador, leia as seguintes linhas, ele vai te ajudar. Você quer saber como usar o apply() em geral, com uma função caseira ou com vários parâmetros ? Então, vá para ver os exemplos a seguir.

A função apply() é conhecida como extremamente útil para melhorar a velocidade
do nosso código quando queremos operar algumas funções em uma matriz ou um
vetor. Eu uso-a, mas não sei realmente como usá-la.
O que é isso?
apply() é uma função R que permite fazer operações rápidas em matriz, vetor ou matriz. As operações podem ser feitas nas linhas, nas colunas ou mesmo em ambas.
Como é que funciona?
O padrão é
realmente simples : aplicar(variável, margem, função).
-variável é a variável à qual você quer aplicar a função.
-margin especifica se você quer aplicar por linha (margem = 1), por coluna
(margem = 2), ou para cada elemento (margem = 1:2). A margem pode ser ainda
maior que 2, se trabalharmos com variáveis de dimensão superior a 2.
-função é a função que você deseja aplicar aos elementos de sua variável.
Porque eu acho que o exemplo é mais claro do que qualquer outra coisa, aqui está o exemplo mais importante para entender a função aplicar().
Introdução:
#a matriz em que vamos trabalhar:
a = matriz(c(1:15), fila = 5 , ncol = 3)
# aplicará a função média a todos os elementos de cada aplicação de linha
(a, 1, média)
# [1] 6 7 8 9 10
# aplicará a função média a todos os elementos de cada colunaaplica
(a, 2, média)
# [1] 3 8 13
# aplicará a função média a todos os elementos de cada coluna e de cada linha,
ou seja, cada elementapply
(a, 1:2, média)
# [,1] [,2] [,3]
# [1,] 1 6 11#
[2,] 2 7 12#
[3,] 3 8 13#
[4,] 4 9 14#
[5,] 5 10 15
Acabamos de trabalhar nas diferentes margens para mostrar as possibilidades básicas. Mas, como eu disse, também podemos trabalhar em outras variáveis, como uma matriz de dimensão 3:
#apply() para array
de outras dimensões :
a = array(1:8, dim = c(2,2,2))
apply(a, 3, sum)
# , , 1##
[,1] [,2]
# [1,] 1 3#
[2,]
2 4##
, , 2##
[,1]
[,2]# [1,] 5
7#
[2,]
6 8
Alguns parâmetros:
Capacidade com alguns parâmetros. Aqui está a principal motivação por trás do porquê de eu nunca estar utilizando apply(), eu não tinha a mais nebulosa idéia de como fazer quando eu tinha alguns poucos parâmetros em uma capacidade. Isto é muito simples, precisamos simplesmente especificar no parâmetro a variável que é consistente.
Use uma função feita em casa:
Também podemos usar a nossa própria função. Por exemplo, reproduzimos a soma da função (absolutamente inútil, mas vamos mantê-la simples!).
f1 = function(x){
return(sum(x))}
Aplicar(a, 1, f1)
Vários parâmetros:
Uma função com vários parâmetros. Aqui está a principal razão porque eu nunca
estava usando apply(), eu não sabia como fazer quando eu tinha vários
parâmetros em uma função. Isto é bem simples, só temos que especificar no
parâmetro a variável que é constante.
f2 =
function(x1,x2){
x1-x2}b
= 2
#com o segundo parâmetro como opçãoaplicar
(a,1,f2,x2=b)
# [,1] [,2] [,3] [,4] [,5]
# [1,] -1 0
1 2 3#
[2,]
4 5 6 7 8#
[3,]
9 10 11
12 13#
[3,]
22 24 26
28 30
#com o primeiro parâmetro como opçãoaplicar
(a,1,f2,x1=b)
# [,1] [,2] [,3] [,4] [,5]
# [1,] 1 0
-1 -2 -3#
[2,]
-4 -5 -6
-7 -8#
[3,]
-9 -10 -11
-12 -13
Espero que estes modelos o apoiem. Por e por mim utilizo a capacidade aplicável() uma vez que experimentei estes dois modelos. Obviamente existem várias subtilezas diferentes que podem ser valiosas, no entanto, estes primeiros modelos gerenciam os principais resultados concebíveis de apply().