Filtrar linhas do quadro de dados | R-bloggers

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[Esteartigofoipublicadopelaprimeiravezem[Thisarticlewasfirstpublishedon Quantargo Blog, e gentilmente contribuiu para os R-blogueiros]. (Você pode relatar um problema sobre o conteúdo desta página aqui)


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.

Geralmente, queremos operar apenas em um subconjunto específico de linhas de um quadro de dados. o dplyr filter() A função fornece uma maneira flexível de extrair as linhas de interesse com base em várias condições.

  • Use o filter() para classificar as linhas de um quadro de dados que atendem a uma condição especificada
  • Filtrar um quadro de dados por várias condições
filter(my_data_frame, condition)
filter(my_data_frame, condition_one, condition_two, ...)

A função filter ()

filter(my_data_frame, condition)
filter(my_data_frame, condition_one, condition_two, ...)

o filter() A função usa um quadro de dados e uma ou mais expressões de filtragem como parâmetros de entrada. Ele processa o quadro de dados e mantém apenas as linhas que atendem às expressões de filtragem definidas. Essas expressões podem ser vistas como regras para a avaliação e manutenção de linhas. Na maioria dos casos, eles são baseados em operadores relacionais. Como exemplo, poderíamos filtrar o pres_results quadro de dados e mantenha apenas as linhas, onde o state variável é igual a "CA" (Califórnia):

filter(pres_results, state == "CA")
# A tibble: 11 x 6
    year state total_votes   dem   rep  other
               
 1  1976 CA        7803770 0.480 0.497 0.0230
 2  1980 CA        8582938 0.359 0.527 0.114 
 3  1984 CA        9505041 0.413 0.575 0.0122
 4  1988 CA        9887065 0.476 0.511 0.0131
 5  1992 CA       11131721 0.460 0.326 0.213 
 6  1996 CA       10019469 0.511 0.382 0.107 
 7  2000 CA       10965822 0.534 0.417 0.0490
 8  2004 CA       12421353 0.543 0.444 0.0117
 9  2008 CA       13561900 0.610 0.370 0.0188
10  2012 CA       13038547 0.602 0.371 0.0246
11  2016 CA       14181595 0.617 0.316 0.0581

Na saída, podemos comparar os resultados das eleições na Califórnia para diferentes anos.

Leia Também  O quebra-cabeça 'moeda do prisioneiro lançando': simulação organizada em R

Como outro exemplo, poderíamos filtrar o pres_results quadro de dados e mantenha apenas as linhas, onde o dem A variável (porcentagem de votos para o Partido Democrata) é maior que 0,85:

filter(pres_results, dem > 0.85)
# A tibble: 7 x 6
   year state total_votes   dem    rep   other
                
1  1984 DC         211288 0.854 0.137  0.00886
2  1996 DC         185726 0.852 0.0934 0.0513 
3  2000 DC         201894 0.852 0.0895 0.0563 
4  2004 DC         227586 0.892 0.0934 0.0125 
5  2008 DC         265853 0.925 0.0653 0.00582
6  2012 DC         293764 0.909 0.0728 0.0155 
7  2016 DC         312575 0.905 0.0407 0.0335 

Na saída, podemos ver para cada ano eleitoral os estados onde o Partido Democrata obteve mais de 85% dos votos. Com base nos resultados, poderíamos dizer que o Partido Democrata tem uma base sólida de eleitores no Distrito de Columbia (conhecido como Washington, DC).

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

Exercício: Use filter () com uma única expressão

o gapminder O conjunto de dados contém dados econômicos e demográficos sobre vários países desde 1952.

Inspecione os dados por um único ano usando o filter() função.

  1. Aplicar o filter() função no gapminder conjunto de dados
  2. Mantenha apenas as linhas em que o year é igual a 2007

Observe que o dplyr e gapminder pacotes já estão carregados.

Iniciar exercício

Quiz: função filter ()

Qual das seguintes afirmações sobre o filter() função está correta?

  • Operadores relacionais, como == ou >, frequentemente fazem parte das expressões de filtragem.
  • o filter() função vem no dplyr pacote.
  • Somente variáveis ​​numéricas podem ser filtradas.
  • o filter() A função funciona apenas em quadros de dados, não em rabiscos.

Iniciar teste

Várias expressões de filtro

filter(my_data_frame, condition)
filter(my_data_frame, condition_one, condition_two, ...)

o filter() A função também pode receber várias regras de filtragem. Isso pode ser visto como uma combinação de regras com o & operador. Para que uma linha seja incluída na saída, todas as regras de filtragem devem ser cumpridas por ela. No exemplo a seguir, filtramos o pres_results quadro de dados para todas as linhas em que o state variável é igual a "CA" e a year variável é igual a 2016:

filter(pres_results, state == "CA", year==2016)
# A tibble: 1 x 6
   year state total_votes   dem   rep  other
              
1  2016 CA       14181595 0.617 0.316 0.0581

Temos uma única linha como saída, contendo os resultados das eleições presidenciais dos EUA em 2016 para o estado da Califórnia.

Leia Também  Probabilidade e modelagem bayesiana [book review]

Exercício: Use filter () com várias regras

o gapminder O conjunto de dados contém dados econômicos e demográficos sobre vários países desde 1952. Filtre a mistura e inspecione quais países tinham uma expectativa de vida superior a 80 anos no ano de 2007! Os pacotes necessários já estão carregados.

  1. Use o filter() função na inclinação do gapminder.
  2. Filtre todas as linhas onde o year variável é igual a 2007 e a expectativa de vida lifeExp é maior que 80!

Iniciar exercício

Exercício

o gapminder O conjunto de dados contém dados econômicos e demográficos sobre vários países desde 1952. Filtre o gapminder mexer e inspecionar quais países tinham uma população superior a 1.000.000.000 no ano de 2007! Os pacotes necessários já estão carregados.

  1. Use o filter() função na inclinação do gapminder.
  2. Filtre todas as linhas onde o year variável é igual a 2007 e a população pop é maior que 1000000000!

Iniciar exercício

Filtrar linhas do quadro de dados é um trecho do curso Introdução ao R, disponível gratuitamente em quantargo.com

VER CURSO COMPLETO



Se você chegou até aqui, por que não inscreva-se para atualizações do site? Escolha o seu sabor: e-mail, twitter, RSS ou facebook …



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br