[ad_1]
[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, ...)
Contents
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 other1 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.
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 other1 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).
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.
- Aplicar o
filter()
função nogapminder
conjunto de dados - 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 other1 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.
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.
- Use o
filter()
função na inclinação do gapminder. - Filtre todas as linhas onde o
year
variável é igual a 2007 e a expectativa de vidalifeExp
é 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.
- Use o
filter()
função na inclinação do gapminder. - Filtre todas as linhas onde o
year
variável é igual a 2007 e a populaçãopop
é 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
Relacionado
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 …
[ad_2]