D é para dummy_cols | R-bloggers

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


[Esteartigofoipublicadopelaprimeiravezem[Thisarticlewasfirstpublishedon Profundamente Trivial, 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.

Na letra D, vou falar sobre as funções dummy_cols, que na verdade não fazem parte da ordem, mas ei: minhas postagens, minhas regras. Essa função é incrivelmente útil para criar variáveis ​​fictícias, que são usadas de várias maneiras, incluindo regressão múltipla com variáveis ​​categóricas. Ao realizar a regressão linear, a suposição é que as variáveis ​​preditor e resultado são numéricas. Para incluir variáveis ​​categóricas, você precisa convertê-las em variáveis ​​numéricas. Se eles não forem estritamente contínuos, crie variáveis ​​fictícias para representar as diferentes categorias. Se eu tivesse três níveis em uma variável categórica, precisaria de duas variáveis ​​fictícias: uma para delinear a categoria 1 das outras 2 e outra para delinear a categoria 2 (com a terceira categoria sendo representada por 0s nas outras duas variáveis).

Obviamente, existem outros usos para variáveis ​​fictícias. Por exemplo, no trabalho, eu estava examinando usuários únicos do nosso sistema de testes por hora do dia. Nosso sistema cria uma linha para cada ação do usuário, com um carimbo de data / hora. Se eu simplesmente gerasse contagens dessas linhas durante períodos de tempo, obteria uma contagem de ações por hora por usuários (cliques, destaques etc.), em vez de usuários individuais conectados durante uma determinada hora. Então, eu criei códigos fictícios por hora do dia, depois agreguei pelo identificador de usuário exclusivo. Era assim que eu podia gerar contagens precisas de quantos usuários estavam online durante uma determinada hora.

Leia Também  Quebra-cabeça Le Monde [#1146] | R-bloggers

Para aplicar esse procedimento ao conjunto de dados de leitura, usei a função dummy_cols para criar variáveis ​​fictícias (ou sinalizadores) para o gênero. Criei um conjunto de dados de formato longo dos principais gêneros para cada título, que você pode baixar aqui. Por uma questão de simplicidade, esse arquivo contém apenas Book.ID, título e gênero (com uma entrada separada para cada gênero, para que alguns livros tenham uma única linha, para um gênero, e outros tenham várias linhas, para refletir vários gêneros).


## -- Attaching packages ------------------------------------------- tidyverse 1.3.0 --
##  ggplot2 3.2.1      purrr   0.3.3
## tibble 2.1.3 dplyr 0.8.3
## tidyr 1.0.0 stringr 1.4.0
## readr 1.3.1 forcats 0.4.0
## -- Conflicts ---------------------------------------------- tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()

longreads2019  read_csv("~/Downloads/Blogging A to Z/reads2019_long.csv")

## Parsed with column specification:
## cols(
## Book.ID = col_double(),
## Title = col_character(),
## genre = col_character()
## )

Posso usar as funções dummy_cols para criar os sinalizadores de gênero, que podem ser agregados e mesclados no arquivo read2019 (criei uma versão sem sinalizadores de gênero, disponível aqui). Para esta função, você precisará do pacote fastDummies (adicione install.packages (“fastDummies”) antes do restante do código). Além disso, como o número de variáveis ​​de código fictício normalmente é igual ao número de categorias menos 1, a função remove automaticamente a primeira variável fictícia do arquivo final. Como os estou usando como sinalizadores em vez de variáveis ​​fictícias, desejo substituir esse padrão, o que faço com remove_first_dummy = FALSE.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
library(fastDummies)

genres longreads2019 %>%
dummy_cols(select_columns = "genre", remove_first_dummy = FALSE)

genres genres %>%
group_by(Book.ID) %>%
summarise(Fiction = max(genre_Fiction),
Childrens = max(genre_Childrens),
Fantasy = max(genre_Fantasy),
SciFi = max(genre_SciFi),
Mystery = max(genre_Mystery),
SelfHelp = max(genre_SelfHelp))

reads2019 read_csv("~/Downloads/Blogging A to Z/ReadsNoGenre.csv",
col_names = TRUE)


## Parsed with column specification:
## cols(
## Title = col_character(),
## Pages = col_double(),
## date_started = col_character(),
## date_read = col_character(),
## Book.ID = col_double(),
## Author = col_character(),
## AdditionalAuthors = col_character(),
## AverageRating = col_double(),
## OriginalPublicationYear = col_double(),
## read_time = col_double(),
## MyRating = col_double(),
## Gender = col_double(),
## NewRating = col_double(),
## FinalRating = col_double()
## )

reads2019  reads2019 %>%
left_join(genres, by = "Book.ID")

Sei que já joguei outras funções organizadas nessas postagens, como group_by e resumir. Não se preocupe! Vou postar mais sobre essas funções nesta série – fique ligado!

Leia Também  Trabalhando com dados estatísticos do Canadá em R, parte 5: recuperando dados do censo


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



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