![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Recodificação de dados usando programação R. Usando os pacotes dirtyverse e dplyr para criar uma nova variável
Recodificação de dados usando programação R. Usando os pacotes dirtyverse e dplyr para criar uma nova variável
Hoje, vamos nos aprofundar no fascinante tópico de recodificação de dados em R. Mas primeiro, vamos esclarecer o que queremos dizer com recodificação de dados. Para ilustrar esse processo, usaremos o conjunto de dados Star Wars. Se você já tiver instalado o pacote dirtyverse em seu computador, terá acesso a esse conjunto de dados e poderá acompanhá-lo em casa.
O conjunto de dados Star Wars consiste em linhas que representam personagens de Star Wars como Luke Skywalker, Princesa Leia e mais, e colunas que representam várias variáveis, como nome, altura, massa e sexo. Nosso objetivo é transformar o conjunto de dados original em um novo que contenha algumas diferenças importantes.
No conjunto de dados modificado, que criaremos, há algumas alterações a serem observadas. Primeiro, a coluna de altura é expressa em metros quadrados em vez de centímetros como no conjunto de dados original. Em segundo lugar, a coluna de gênero usa "M" e "F" para representar masculino e feminino, respectivamente, em vez dos valores originais. Além disso, removemos todos os valores ausentes do conjunto de dados. Por fim, criamos uma nova variável chamada "tamanho" que categoriza os personagens como "grandes" ou "pequenos" com base em critérios específicos - ter mais de um metro de altura e pesar mais de 75 quilos.
Para começar, vamos nos certificar de que carregamos o pacote , pois ele fornece as funções necessárias para a manipulação de dados. Você só precisa instalar o pacote uma vez, mas pode carregá-lo para cada sessão usando a função library() ou require(). Uma vez que o pacote de ordenação é carregado, você também terá acesso ao conjunto de dados de Star Wars.
Vamos criar um novo objeto chamado SW para trabalhar com o conjunto de dados Star Wars. Usaremos o operador de atribuição (<-) para atribuir o conjunto de dados Star Wars ao objeto SW. Dessa forma, podemos fazer alterações e realizar operações sem modificar o conjunto de dados original. Agora, vamos selecionar as variáveis com as quais queremos trabalhar. Para conseguir isso, utilizaremos o operador de tubulação (%>%) para encadear as operações.
Primeiro, usaremos a função select() para escolher as variáveis que desejamos — nome, massa e gênero. Além disso, renomearemos a variável "mass" para "weight" usando a função rename(). Ao executar este código, as variáveis selecionadas serão mantidas e a coluna "massa" será renomeada como "peso" no conjunto de dados SW.
Em seguida, abordaremos os valores ausentes. Embora não o abordemos em detalhes aqui, é importante lidar adequadamente com os valores ausentes em sua análise de dados. Por enquanto, simplesmente removeremos os valores ausentes do conjunto de dados. Abordaremos técnicas para lidar com valores ausentes em um vídeo separado.
Agora, vamos nos concentrar em transformar a variável "altura" de centímetros para metros. Usando a função mutate() e o operador pipe, modificaremos a coluna "height" dividindo cada valor por 100. Essa divisão garante que as alturas sejam expressas em metros em vez de centímetros.
Passando para a variável "gênero", notamos que ela contém valores diferentes de apenas "masculino" e "feminino", como "MAfrodite". Para resolver isso, queremos filtrar o conjunto de dados e manter apenas as observações com valores "macho" e "fêmea". Demonstraremos duas abordagens para filtragem. A primeira abordagem envolve usar a função filter() e especificar as condições para reter observações com gêneros "masculino" ou "feminino". A segunda abordagem, mais elegante, emprega concatenação usando o operador %in% para reter observações com valores "male" ou "female". Ambas as abordagens produzem o mesmo resultado - apenas as observações "masculinas" e "femininas" permanecem no conjunto de dados.
Uma vez filtrada a variável "gênero", podemos proceder à recodificação dos valores na variável "gênero". Atualmente, contém os valores "masculino" e "feminino", mas queremos representá-los como "M" e "F" respectivamente. Para conseguir isso, usaremos a função mutate() e a função recode().
Dentro da função recode(), vamos especificar a variável que queremos recodificar, que é "gênero" neste caso. Em seguida, atribuiremos os novos valores usando a sintaxe valor_velho = valor_novo. No nosso caso, definiremos "masculino" para ser recodificado como "M" e "feminino" como "F".
Ao executar este código, a variável "gênero" no conjunto de dados SW será atualizada, substituindo "masculino" e "feminino" por "M" e "F" respectivamente.
Por fim, criaremos uma nova variável chamada "tamanho" com base em determinados critérios. A variável "tamanho" categorizará os personagens como "grandes" ou "pequenos", dependendo de sua altura e peso. Usaremos novamente a função mutate() e o operador pipe.
Dentro de mutate(), criaremos a variável "size" definindo suas condições. Usaremos operadores lógicos para verificar se a altura é maior que um metro e o peso é maior que 75 quilos. Se as condições forem atendidas, atribuiremos "grande" à observação correspondente; caso contrário, atribuiremos "pequeno". Isso é obtido usando a função if_else() dentro do mutate().
Uma vez executado este código, a variável "tamanho" será adicionada ao conjunto de dados SW, indicando se cada personagem é classificado como "grande" ou "pequeno" com base em sua altura e peso.
Concluindo, se você é apaixonado por análise de dados e está ansioso para aprender programação em R, você veio ao lugar certo. Aperte o botão de inscrição e clique no sino de notificação para se manter atualizado sobre os próximos vídeos.
10 dicas de filtragem de dados usando programação R. Use o aimverse para filtrar e criar subconjuntos de seus dados.
10 dicas de filtragem de dados usando programação R. Use o aimverse para filtrar e criar subconjuntos de seus dados.
Neste vídeo, vamos explorar como filtrar dados em R usando a função de filtro. A filtragem nos permite extrair subconjuntos específicos de dados com base em determinados critérios. Para fazer isso, usaremos o pacote dirtyverse, que fornece um poderoso conjunto de ferramentas para manipulação e análise de dados em R. Antes de mergulharmos na função de filtro, vamos discutir brevemente o básico.
Configurando o Ambiente:
Para começar, precisamos carregar o pacote aimverse usando a função de biblioteca. O pacote aimdverse inclui o ecosistemanityverse, que expande o vocabulário e a funcionalidade do R. Caso você não esteja familiarizado com orindyverse, recomendo assistir ao meu vídeo sobre pacotes para entender melhor.
Explorando os dados: Para esta demonstração, trabalharemos com o conjunto de dados "msleep", que está incluído como um conjunto de dados integrado no pacote de ordenação. O conjunto de dados "msleep" contém informações sobre diferentes mamíferos, incluindo variáveis como nome, sono total, peso corporal e peso cerebral. Esse conjunto de dados servirá como nossos dados de prática para filtragem.
Criando um subconjunto de dados: Para criar um subconjunto de dados, primeiro faremos uma cópia do conjunto de dados "msleep" e o atribuiremos a um novo objeto chamado "my_data" usando o operador de atribuição "=".
my_data <- msleep
Seleção de variáveis: A seguir, selecionaremos variáveis específicas com as quais queremos trabalhar. Neste caso, estamos interessados nas colunas "name" e "sleep_total". Usamos a função select para escolher essas colunas e armazenar o resultado de volta no objeto "my_data" usando o operador de atribuição.
my_data <- my_data %>% select(name, sleep_total)
Filtrando Dados: Agora vem a parte principal, a função de filtro. Usaremos essa função para extrair linhas de nosso conjunto de dados com base em critérios específicos. Existem várias maneiras de usar a função de filtro, e vou orientá-lo em dez exemplos diferentes.
Filtragem por um único critério:
Para começar, vamos filtrar os dados para incluir apenas mamíferos onde o total de sono é maior que 18. Usamos a função de filtro e especificamos a condição como "sleep_total > 18".
my_data <- my_data %>% filter(sleep_total > 18)
Filtragem usando o "!" Operador:
Também podemos usar o "!" operador para filtrar o oposto de uma determinada condição. Nesse caso, filtraremos os mamíferos com totais de sono inferiores a 18.
my_data <- my_data %>% filter(!(sleep_total < 18))
Filtragem baseada em Múltiplos Critérios usando "e":
Podemos filtrar os dados com base em vários critérios, combinando-os usando o operador lógico "e" (","). Por exemplo, vamos extrair mamíferos onde a ordem é "primata" e o peso corporal é superior a 20.
my_data <- my_data %>% filter(order == "primate", body_weight > 20)
Filtragem baseada em Múltiplos Critérios usando "ou":
Em alguns casos, podemos querer extrair linhas que atendam a pelo menos um dos vários critérios. Podemos conseguir isso usando o operador lógico "ou" ("|"). Por exemplo, vamos extrair mamíferos que são vacas, cachorros ou cabras.
my_data <- my_data %>% filter(name == "cow" | name == "dog" | name == "goat")
Filtragem usando uma concatenação:
Em vez de especificar cada critério individualmente, podemos criar uma concatenação de valores e utilizá-la dentro da função de filtro. Essa abordagem fornece uma maneira mais elegante de filtrar vários valores. Por exemplo, podemos filtrar criando um vetor de nomes e utilizando-o na função de filtro da seguinte forma:
names_to_filter <- c("cow", "dog", "goat")
my_data <- my_data %>% filter(name %in% names_to_filter)
Filtragem usando o operador "entre":
Podemos usar o operador "entre" para filtrar linhas com base em um intervalo de valores. Vamos filtrar os dados para incluir apenas mamíferos com totais de sono entre 16 e 18 (inclusive).
my_data <- my_data %>% filter(between(sleep_total, 16, 18))
Filtrando por valores próximos a um valor específico:
Se quisermos filtrar as observações que estão próximas de um valor específico dentro de uma variável, podemos usar a função "near". Por exemplo, vamos filtrar os dados para incluir mamíferos com totais de sono próximos a 17 dentro de uma tolerância de 0,5.
my_data <- my_data %>% filter(near(sleep_total, 17, tolerance = 0.5))
Filtrando por valores ausentes:
Para filtrar linhas onde uma variável específica possui valores ausentes, podemos usar a função "is.na". Vamos filtrar os dados para incluir apenas mamíferos com valores ausentes na variável "conservação".
my_data <- my_data %>% filter(is.na(conservation))
Filtragem de valores não ausentes:
Por outro lado, se quisermos filtrar as linhas com valores ausentes em uma variável específica, podemos usar o "!" junto com a função "is.na". Vamos filtrar os dados para excluir mamíferos com valores ausentes na variável "conservação".
my_data <- my_data %>% filter(!is.na(conservation))
Conclusão: Ao utilizar a função de filtro e várias técnicas de filtragem, podemos extrair subconjuntos específicos de dados com base em nossos critérios. A filtragem nos permite focar em observações relevantes e facilitar uma análise mais aprofundada. Lembre-se de experimentar diferentes critérios e combinações para atender às suas necessidades específicas de filtragem de dados.
Se você achou este vídeo útil e deseja aprender mais sobre análise de dados e programação R, inscreva-se neste canal e ative as notificações para se manter atualizado sobre vídeos futuros.
Limpe seus dados com programação R.R para iniciantes
Limpe seus dados com programação R.R para iniciantes
Bem vindo de volta! Hoje, estamos mergulhando no tópico de limpeza de dados. Ao trabalhar com dados, muitas pessoas ficam ansiosas para entrar imediatamente na análise estatística. No entanto, é importante adotar uma abordagem sistemática para garantir resultados precisos e confiáveis. Neste vídeo, vamos orientá-lo no processo de limpeza de seus dados, que é uma etapa crucial antes da análise.
Primeiro, vamos começar explorando seus dados. Eu abordei esse tópico em um vídeo anterior, portanto, verifique se ainda não o fez. A exploração de dados ajuda você a se familiarizar com a estrutura e o conteúdo do seu conjunto de dados. Depois de ter uma boa compreensão de seus dados, você pode prosseguir para limpá-los.
Então, o que queremos dizer com limpar seus dados? Bem, existem algumas tarefas principais envolvidas. Em primeiro lugar, é importante garantir que cada variável seja categorizada corretamente. Pode ser necessário fazer ajustes e alterar os tipos de variáveis conforme necessário. Eu vou te mostrar como fazer isso em breve.
Em seguida, você pode selecionar as variáveis com as quais deseja trabalhar e filtrar quaisquer linhas ou observações indesejadas. Esta etapa é particularmente importante ao lidar com grandes conjuntos de dados. Ele permite que você se concentre nos dados específicos que são relevantes para sua análise.
Outro aspecto importante da limpeza de dados é o tratamento de dados ausentes. Discutiremos técnicas para localizar e lidar com valores ausentes neste vídeo. Além disso, abordaremos como identificar e lidar com duplicatas, bem como recodificar valores, se necessário.
Antes de prosseguirmos, deixe-me mencionar que, ao trabalhar com R, sempre uso os pacotes do aimverse. O nakedverse é uma coleção de pacotes que estende a funcionalidade do R e fornece uma ampla gama de funções úteis. Se você ainda não o fez, certifique-se de instalar e carregar os pacotes do dirtyverse.
Agora, vamos falar sobre os conjuntos de dados que usaremos. O R vem com conjuntos de dados integrados que você pode usar para praticar e aprender. Nesta lição, usaremos o conjunto de dados Star Wars, que fica disponível depois que você instala o ordenação. Você pode acessar esses conjuntos de dados digitando "data()" e explorando as opções disponíveis. Por exemplo, você pode visualizar o conjunto de dados Star Wars digitando "view(starwars)".
Agora, vamos nos concentrar nos tipos de variáveis. É importante garantir que cada variável seja identificada e categorizada corretamente. Para explorar os tipos de variáveis no conjunto de dados Star Wars, podemos usar a função "glimpse(starwars)". Isso fornecerá um resumo do conjunto de dados, incluindo os nomes e tipos de variáveis.
Em alguns casos, você pode querer converter uma variável de caractere em uma variável de fator. Os fatores são variáveis categóricas que podem ter níveis ou categorias predefinidos. Para fazer isso, você pode usar a função "as.factor()". Por exemplo, para converter a variável "gender" no conjunto de dados Star Wars em um fator, você pode usar o código "starwars$gender <- as.factor(starwars$gender)". Isso alterará o tipo de variável e atualizará o conjunto de dados de acordo.
Se precisar especificar os níveis ou categorias de uma variável de fator, você pode usar a função "levels()". Por exemplo, se você quiser alterar a ordem dos níveis na variável "gender", você pode usar o código "levels(starwars$gender) <- c('masculine', 'feminine')". Isso permite que você personalize a ordem das categorias com base em suas necessidades específicas.
Em seguida, vamos discutir a seleção de variáveis e a filtragem de linhas. No R, você pode usar a função "select()" para escolher as variáveis com as quais deseja trabalhar. Por exemplo, você pode selecionar variáveis como "nome" e "altura" do conjunto de dados Star Wars usando o código "select(starwars, name, height, ends_with('color'))".
Para filtrar linhas satisfeitas. Mas não é isso que queremos neste caso. Queremos incluir observações com cabelos loiros ou castanhos. Portanto, usamos o operador lógico "ou" (representado por |) para especificar que a observação deve atender a qualquer uma das condições.
Agora, vamos passar para a próxima parte da limpeza de dados, que trata dos dados ausentes. Dados ausentes podem ocorrer em conjuntos de dados por vários motivos e é importante tratá-los adequadamente. No caso do conjunto de dados Star Wars, podemos verificar os valores ausentes usando a função is.na().
Para encontrar e lidar com dados ausentes, podemos adicionar outra etapa ao nosso código:
Neste código, primeiro selecionamos as variáveis desejadas (nome, altura e variáveis que terminam com "cor"). Em seguida, filtramos os valores de cores de cabelo que são "loiro" ou "castanho". Por fim, usamos a condição !is.na(height) para excluir quaisquer observações em que o valor da altura esteja ausente.
Em seguida, vamos abordar o problema de duplicatas no conjunto de dados. Duplicatas podem ocorrer quando há várias observações idênticas no conjunto de dados. Para encontrar e lidar com duplicatas, podemos adicionar outra etapa ao nosso código:
Neste código, usamos a função distinct() para remover observações duplicadas do conjunto de dados star_wars_filtered, garantindo que cada observação seja única.
Por fim, vamos discutir como recodificar valores no conjunto de dados. Às vezes, podemos precisar modificar os valores de certas variáveis para melhor adequar nossa análise. Nesse caso, digamos que queremos recodificar a variável de cor do cabelo para ter "loiro" como 1 e "marrom" como 2. Podemos fazer isso adicionando outra etapa ao nosso código:
Aqui, usamos a função mutate() junto com a função recode() para modificar os valores da variável hair_color. Especificamos que "loiro" deve ser recodificado como 1 e "marrom" como 2.
Agora, concluímos o processo de limpeza de dados. Selecionamos as variáveis desejadas, filtramos observações indesejadas, lidamos com dados ausentes, removemos duplicatas e recodificamos valores, se necessário.
Lembre-se de que essas são apenas algumas etapas básicas do processo de limpeza de dados, e as etapas específicas podem variar dependendo do conjunto de dados e dos requisitos de análise. No entanto, seguir uma abordagem sistemática como essa pode ajudar a garantir que seus dados estejam em um formato limpo e adequado para análise posterior.
Espero que esta explicação ajude você a entender o processo de limpeza de seus dados.
Explore seus dados usando a programação R
Explore seus dados usando a programação R
Olá, todos vocês, entusiastas de programação! Meu nome é Greg Martin e dou as boas-vindas à nossa sessão de Programação 101. Hoje, vamos discutir o tópico crucial da exploração de dados antes de mergulhar em qualquer análise de dados. Entender os dados com os quais você está trabalhando é essencial. Você precisa entender as dimensões, parâmetros e tamanho do seu conjunto de dados ou quadro de dados. Além disso, você deve estar ciente do número de variáveis e suas características. Esta etapa é super importante e extremamente fácil, então vamos fazer isso juntos.
Se você está aqui para aprender sobre programação, veio ao lugar certo. Neste canal do YouTube, criamos vídeos de programação que abrangem uma ampla gama de tópicos.
Agora, deixe-me começar dizendo que uso funções e pacotes dentro do Tidyverse. Se você não estiver familiarizado com o Tidyverse, recomendo assistir a um dos meus outros vídeos explicando seu significado. A instalação do Tidyverse em seu computador traz todas as funções, recursos e vocabulário expandido que vêm com os pacotes do Tidyverse. Mencionarei alguns desses pacotes à medida que progredirmos.
É importante ressaltar que o Tidyverse também inclui uma variedade de conjuntos de dados integrados que você pode usar para praticar sua análise de dados. Isso é particularmente útil e, posteriormente, usaremos um desses conjuntos de dados adicionais chamados "guerras nas estrelas". O conjunto de dados de Star Wars é um pouco confuso, contendo dados ausentes e outros problemas, tornando-o um excelente exemplo para explorar e limpar dados.
Para começar, você sempre pode usar o ponto de interrogação seguido do nome da função ou do conjunto de dados para acessar a documentação e obter informações sobre esse conjunto de dados específico. Por exemplo, digitando "?star wars" e pressionando Enter, você pode acessar informações sobre as variáveis presentes no conjunto de dados de star wars.
Agora, vamos passar para algumas funções específicas. A primeira função sobre a qual aprenderemos é "dim", que significa dimensões. Usando o comando "dim(star wars)" e pressionando Enter, podemos determinar que o conjunto de dados possui 87 linhas ou observações e 13 variáveis.
Outra função comum usada para entender a estrutura de um quadro de dados é "str" (estrutura). No entanto, quando aplicamos "str(star wars)" diretamente, encontramos uma saída confusa devido à presença de listas no conjunto de dados. As listas representam variáveis onde cada observação pode ser uma lista separada contendo vários pontos de dados ou até mesmo um dataframe inteiro. Para tornar a saída mais legível, podemos usar a função "glimpse" do Tidyverse. Portanto, digitando "glimpse(star wars)" e pressionando Enter, obtemos uma exibição muito mais clara da estrutura do conjunto de dados, incluindo o número de observações, variáveis e seus tipos.
Para visualizar o próprio conjunto de dados, você pode usar a função "view" digitando "view(star wars)" e pressionando Enter. Isso abrirá uma janela exibindo o conjunto de dados em um formato limpo e organizado, com colunas representando variáveis e linhas representando observações.
Além disso, você pode usar as funções "cabeça" e "cauda" para visualizar rapidamente a primeira e a última linha do conjunto de dados, respectivamente. Por exemplo, "head(star wars)" exibirá as seis primeiras linhas e "tail(star wars)" exibirá as últimas seis linhas.
Para acessar variáveis específicas dentro do conjunto de dados, você pode usar o operador "$". Por exemplo, digitando "star wars$name" e pressionando Enter, você pode acessar a variável "name" diretamente.
Outra função útil é "names", que permite recuperar os nomes das variáveis no conjunto de dados. Ao digitar "names(star wars)" e pressionar Enter, você obterá uma lista de todas as variáveis presentes. Isso é benéfico ao referenciar variáveis em seu código, pois ajuda a evitar erros de digitação e garante a precisão.
Além disso, a função "comprimento" pode ser usada para determinar o número.
A função "comprimento" pode ser usada para determinar o número de variáveis em um conjunto de dados. Por exemplo, digitando "length(names(star wars))" e pressionando Enter, você pode descobrir o número total de variáveis presentes no conjunto de dados de star wars.
Outro aspecto importante da exploração de dados é entender os tipos de dados das variáveis. A função "classe" pode ser usada para determinar a classe ou o tipo de dados de uma variável. Por exemplo, se você quiser saber o tipo de dados da variável "nome" no conjunto de dados de Star Wars, digite "class(star wars$name)" e pressione Enter.
Você também pode usar a função "summary" para obter estatísticas de resumo para variáveis numéricas no conjunto de dados. Por exemplo, se você deseja obter um resumo da variável "height", digite "summary(star wars$height)" e pressione Enter.
Para filtrar e agrupar o conjunto de dados com base em condições específicas, você pode usar a função "filtrar". Esta função permite especificar condições lógicas para selecionar linhas que atendem a determinados critérios. Por exemplo, se você deseja filtrar o conjunto de dados de Star Wars para incluir apenas caracteres com altura maior que 150, digite "filter(Star Wars, altura > 150)" e pressione Enter.
Além disso, você pode usar a função "selecionar" para escolher variáveis ou colunas específicas do conjunto de dados. Isso é útil quando você deseja se concentrar em um subconjunto de variáveis para sua análise. Por exemplo, se você quiser selecionar apenas as variáveis "nome" e "altura" do conjunto de dados de Star Wars, digite "select(Star Wars, nome, altura)" e pressione Enter.
Explorar dados também envolve examinar a distribuição de variáveis. O Tidyverse fornece o pacote "ggplot2", que oferece recursos poderosos de visualização de dados. Você pode usar funções como "ggplot" e "geom_histogram" para criar histogramas para visualizar a distribuição de variáveis numéricas. Por exemplo, para criar um histograma da variável "height" no conjunto de dados de Star Wars, você pode usar o seguinte código:
library(ggplot2)
ggplot(star wars, aes(x = height)) +
geom_histogram()
Este código irá gerar um histograma mostrando a distribuição das alturas dos personagens no conjunto de dados de Star Wars.
Lembre-se de instalar os pacotes necessários, caso ainda não o tenha feito. Você pode usar a função "install.packages" para instalar pacotes. Por exemplo, para instalar o pacote ggplot2, você pode digitar "install.packages('ggplot2')" e pressionar Enter.
Estas são algumas das funções e técnicas essenciais que você pode usar para exploração de dados em R. Compreendendo a estrutura, as dimensões, as variáveis e os tipos de dados de seu conjunto de dados, você obtém insights valiosos que ajudam a orientar seu processo de análise de dados.
Manipule seus dados. Disputa de dados. Programação R para iniciantes.
Manipule seus dados. Disputa de dados. Programação R para iniciantes.
Bem-vindo de volta a outro vídeo emocionante em nossa série de programação. Hoje, vamos mergulhar no tópico de manipulação de seu quadro de dados, conjunto de dados ou dados. A disputa de dados, também conhecida como "manipulação de dados", pode ser muito divertida. Esta é a terceira parte de nossa série, onde exploramos vários aspectos da exploração, limpeza, manipulação, descrição, resumo, visualização e análise de dados. Essas são etapas essenciais no pipeline de dados quando você encontra um novo conjunto de dados, ajudando a entender os dados que você possui.
Neste vídeo, vamos cobrir uma variedade de técnicas. Alguns deles você já deve conhecer, enquanto outros podem ser novos para você. Seguiremos em um ritmo rápido, portanto, fique à vontade para pausar, retroceder e revisar o vídeo conforme necessário. A maioria dos exemplos e demonstrações que mostrarei pode ser facilmente replicada em seu próprio computador. Você não precisa baixar nenhum dado adicional ou pesquisá-lo online. Os quadros de dados integrados no R servirão como nossos conjuntos de dados de prática ao longo do vídeo.
Mas antes de prosseguirmos, vamos nos certificar de que você tem a biblioteca de ordenação instalada. Não vou entrar no processo de instalação aqui, mas se você não estiver familiarizado com ele, recomendo assistir ao meu vídeo sobre packages. A biblioteca de ordenação é composta por vários pacotes que fornecem uma variedade de funcionalidades para manipulação e análise de dados. Uma vez instalado, você pode carregar a biblioteca usando o comando library(tidyverse), que dá acesso a todos os pacotes e seu vocabulário estendido dentro do R. Além disso, o aimverse também inclui conjuntos de dados pré-carregados que podemos utilizar para praticar. Para visualizar os conjuntos de dados disponíveis, você pode usar o comando data(), que exibirá uma lista de conjuntos de dados acessíveis em seu computador.
Tudo bem, vamos mergulhar no conteúdo. Estaremos trabalhando com o conjunto de dados "m_sleep" para nossas demonstrações. Se estiver curioso sobre os detalhes do conjunto de dados, você pode usar o comando ?m_sleep para obter um resumo e informações sobre cada variável no conjunto de dados. Como alternativa, podemos usar a função vislumbrar do universo para obter uma visão geral concisa do conjunto de dados, incluindo nomes de variáveis, tipos e algumas observações de exemplo.
Agora, vamos começar com nossa primeira lição: renomear uma variável. Renomear uma variável é uma brisa usando a função renomear no universo de arrumação. Normalmente, seguimos uma abordagem de pipeline, começando com o conjunto de dados e, em seguida, aplicando transformações usando o operador de canal %>%. Para renomear uma variável, especificamos o novo nome antes do sinal de igual, seguido do nome existente na função renomear. Por exemplo, podemos renomear a variável "conservação" para "conservar" usando rename(conservar = conservação). Depois de executar o código, podemos observar o nome da variável atualizada no conjunto de dados.
Continuando, vamos explorar como reordenar variáveis. Conforme mencionado anteriormente, discutimos anteriormente a função select, que nos permite escolher variáveis específicas. No entanto, vale a pena observar que a ordem das variáveis na função select determina sua ordem no conjunto de dados resultante. Ao especificar os nomes das variáveis na ordem desejada, separados por vírgulas, podemos reorganizar as variáveis de acordo. Por exemplo, select(var1, var2, ..., everything()) selecionará "var1" e "var2" primeiro, seguido pelas variáveis restantes em sua ordem original.
Em seguida, vamos discutir a alteração de tipos de variáveis. Já abordamos esse tópico antes, mas vamos revisar brevemente o processo. Usando a classe de função R base, podemos determinar o tipo atual de uma variável. Por exemplo, class(m_sleep$var) exibirá o tipo de variável como "caractere". Para alterar o tipo de uma variável em uma nova linha para fins de legibilidade, mas você pode escrever tudo em uma linha, se preferir. Agora, vamos aplicar o filtro ao quadro de dados.
Neste exemplo, filtramos o quadro de dados m_sleep para incluir apenas as observações em que a variável de ordem é "Carnivora" ou "Primates". O subconjunto de dados resultante é armazenado no objeto filter_data.
Passando a organizar os dados, podemos usar a função de organização. Esta função nos permite classificar as linhas do quadro de dados com base em uma ou mais variáveis. Vamos classificar os dados_filtrados pela variável vore em ordem decrescente.
Aqui, usamos a função de arranjo com o argumento desc(vore), que classifica o quadro de dados em ordem decrescente com base na variável vore. Os dados organizados resultantes são armazenados no objeto "arranged_data".
Agora, vamos cobrir os dados de recodificação. A recodificação envolve alterar os valores de uma variável com base em certas condições. Podemos usar a função mutate junto com a função if_else para fazer isso.
Neste exemplo, recodificamos a variável vore no quadro de dados arranjado_dados. Substituímos o valor "carni" por "Carnívoro" e todos os outros valores por "Onívoro". O quadro de dados modificado é armazenado no objeto recoded_data.
Em seguida, vamos explorar a alteração de dados usando a função mutate. Podemos criar novas variáveis ou modificar as existentes. Aqui está um exemplo:
Por fim, vamos discutir a reformulação de seu quadro de dados. Remodelar envolve alterar a estrutura do quadro de dados de largo para longo ou vice-versa. As funções pivot_longer e pivot_wider do pacote dirtyverse são úteis para esta tarefa. Aqui está um exemplo:
Neste exemplo, transformamos o quadro de dados do formato largo para o formato longo. Selecionamos as variáveis vore, wake e sleep_total para pivotar. O quadro de dados resultante possui duas novas colunas: variável e valor, que armazenam os nomes das variáveis e os valores correspondentes, respectivamente.
É isso para este tutorial! Cobrimos vários aspectos da manipulação de seu quadro de dados, incluindo renomear variáveis, reordenar variáveis, alterar tipos de variáveis, selecionar variáveis, filtrar e organizar dados, recodificar dados, alterar dados usando mutação e remodelar o quadro de dados. Lembre-se, você pode praticar todos esses conceitos usando os quadros de dados integrados no R. Boa conversão de dados!
Descreva e resuma seus dados
Descreva e resuma seus dados
Bem-vindo de volta ao R101! Nesta sessão, discutiremos como descrever e resumir seus dados. O tópico de hoje é super fácil, então fique comigo e você aprenderá muito. Esta sessão faz parte de uma série em que exploramos, limpamos, manipulamos, descrevemos e resumimos dados. O próximo vídeo será sobre como visualizar e analisar os dados. Então vamos começar.
Neste vídeo, abordaremos vários aspectos da descrição e resumo de dados. Em primeiro lugar, ao lidar com variáveis numéricas, existem parâmetros estatísticos específicos que usamos para descrevê-los. Estes incluem alcance, dispersão, centralidade e variância. Não se preocupe; passaremos por esses conceitos de uma maneira super fácil e levará apenas cerca de 30 segundos.
Em seguida, aprenderemos como resumir todo o conjunto de dados. Compartilharei algumas dicas e truques para resumir seus dados com eficiência. Novamente, isso levará apenas cerca de 30 segundos.
Em seguida, vamos nos concentrar na criação de tabelas para resumir nossos dados. As tabelas são uma excelente maneira de apresentar e resumir informações de forma eficaz. Aprenderemos a criar tabelas que resumem variáveis numéricas e tabelas de contingência que resumem variáveis categóricas. Mostrarei alguns exemplos e você achará super fácil acompanhar.
Para lhe dar uma ideia do que pretendemos, mostrei uma tabela de exemplo na tela. Esta tabela conta uma história convincente e mostra uma imagem clara dos dados. Ele foi criado utilizando o pacote "formattable" do R, que permite criar lindas tabelas. No entanto, antes de nos aprofundarmos na criação de tabelas visualmente atraentes, é crucial garantir que nossos dados estejam estruturados adequadamente. A chave é ter seus dados em um formato que permita contar uma história e apresentar uma imagem de forma eficaz.
Agora, vamos avançar e cobrir os principais tópicos deste vídeo. Se você está interessado em aprender a programar em R, você está no lugar certo. Neste canal do YouTube, criamos vídeos de programação que abrangem uma ampla gama de tópicos.
Em primeiro lugar, se ainda não o fez, certifique-se de instalar os pacotes necessários. Sempre trabalhamos com os pacotes "tidyverse", que expandem o vocabulário e as capacidades do R. Eles fornecem ferramentas úteis como o pipe operator, que usaremos neste vídeo. Se você não estiver familiarizado com o universo arrumado e os pacotes dentro dele, recomendo assistir ao meu vídeo sobre packages.
Em nossos exemplos, usaremos dados disponíveis publicamente que você pode acessar em seu computador. Ao usar esses dados, você pode praticar suas habilidades de análise, codificação e organização de dados. R fornece uma variedade de conjuntos de dados que você pode acessar usando a função "dados". Trabalharemos especificamente com o conjunto de dados "msleep" neste vídeo. Você pode replicar as etapas que mostro no seu computador em casa. Se você executar o comando "view(msleep)", poderá ver a estrutura do conjunto de dados. Ele contém variáveis como herbívoro, carnívoro, onívoro, tempo de sono, peso do cérebro e muito mais. É um ótimo conjunto de dados para trabalhar.
Para começar, vamos resumir as variáveis numéricas no conjunto de dados. Vamos nos concentrar em parâmetros estatísticos, como mínimo, máximo, intervalo, intervalo interquartílico, média, mediana e variância. Para obter esses valores, você pode usar a função "summary" no R. Ao executar "summary(msleep)", você verá o resumo de todas as variáveis com os parâmetros correspondentes. Você também pode usar "summary" em uma única variável se quiser se concentrar em estatísticas específicas.
Agora, digamos que queremos selecionar apenas as variáveis "sleep_total" e "brain_weight" e resumi-las. Você pode conseguir isso selecionando as variáveis usando a função "selecionar" do pacote de ordenação.
Agora vamos introduzir a segunda variável categórica, que é "airbags". Podemos usar a função de tabela novamente, mas desta vez vamos incluir as duas variáveis dentro da função. Aqui está o código:
Ao executarmos este código, obtemos uma tabela de contingência que mostra a frequência de combinações entre as duas variáveis categóricas. Ele exibirá algo assim:
Esta tabela nos diz, por exemplo, que existem 15 carros de origem não americana sem airbag, 20 carros com airbag apenas para o motorista e 10 carros com airbag para motorista e passageiro. Da mesma forma, existem 25 carros dos EUA sem airbag, 30 carros com airbag apenas para o motorista e 20 carros com airbag para motorista e passageiro.
Agora vamos ver como podemos obter o mesmo resultado usando a abordagem do universo de arrumação. Usaremos as funções count e pivot_wider. Aqui está o código:
cars %>% count (origin, airbags) %>% pivot_wider (names_from = airbags, values_from = n)
Este código segue o operador de tubo %>% para executar uma série de operações. Primeiro, usamos count para calcular as frequências de combinações entre origem e airbags. Em seguida, aplicamos pivot_wider para remodelar os dados, tornando os diferentes tipos de airbags em colunas separadas. A tabela resultante será semelhante à produzida pelo código R base.
Esses exemplos demonstram como você pode resumir e criar tabelas para descrever seus dados usando a base R e a abordagem de universo ordenado. É importante escolher o método que atenda às suas preferências e aos requisitos específicos de sua análise.
Teste qui-quadrado usando programação R
Teste qui-quadrado usando programação R
Hoje, vamos mergulhar no tópico do teste do qui-quadrado, focando especificamente no teste de qualidade do ajuste. Este teste é super fácil, então fique comigo e vamos explorá-lo juntos.
Primeiras coisas primeiro, certifique-se de ter instalado o pacote . Se você não está familiarizado com o universo arrumado, pode conferir meus outros vídeos para saber mais sobre ele. O nakedverse é uma coleção de pacotes R que expande o vocabulário do R e torna a análise de dados mais eficiente. Além disso, precisaremos do pacote "forcats", que fornece funcionalidade estendida para trabalhar com variáveis categóricas. Nesta lição, usaremos o conjunto de dados "GSS_cat" que vem com o pacote "forcats".
Depois de instalar os pacotes, vamos dar uma olhada no conjunto de dados "GSS_cat". Ele contém várias variáveis, uma das quais é "estado civil". Vamos nos concentrar nessa variável para nossa análise. Para ter uma noção das proporções dos diferentes estados civis, criei um gráfico no lado direito da tela, mostrando as categorias "nunca casou", "divorciado" e "casado". A partir do gráfico, podemos observar que as proporções parecem diferir.
Agora, vamos passar para o teste qui-quadrado. O objetivo deste teste é determinar se existe uma diferença significativa nas proporções de pessoas que nunca foram casadas, divorciadas ou casadas. Nossa hipótese nula assume que não há diferença e queremos examinar se os dados apóiam essa hipótese.
Antes de realizar o teste, gostaria de agradecer ao nosso patrocinador, Native Knowledge. Eles são uma plataforma online que facilita a revisão sistemática da literatura e meta-análise. Certifique-se de vê-los; eles são absolutamente incríveis!
Agora, vamos pular para o código. Forneci algum código na tela para limpeza e preparação de dados. Envolve filtrar os dados para incluir apenas as categorias "nunca casado" e "divorciado" e remover fatores desnecessários. Sinta-se à vontade para copiar o código se quiser replicar essa análise por conta própria. Depois de executar o código, você terá um conjunto de dados bom e organizado com uma única variável.
Agora vem a parte emocionante - realizar o teste do qui-quadrado. Para aplicar o teste, precisamos criar uma tabela com nossos dados. Eu criei um novo objeto chamado "my_table" e atribuí a função de tabela a ele, usando nosso conjunto de dados preparado como argumento. Quando executamos o código e visualizamos "my_table", podemos ver uma tabela com os dados apresentados de forma organizada.
Em seguida, podemos simplesmente aplicar o teste qui-quadrado à nossa tabela usando a função "chisq.test". A execução desta função em "my_table" nos fornecerá os resultados do teste, incluindo o valor-p. Nesse caso, obtivemos um p-valor muito pequeno, indicando que é extremamente improvável observar as diferenças observadas nas proporções se as categorias tivessem proporções iguais. Portanto, podemos rejeitar a hipótese nula de proporções iguais e concluir que existe diferença estatisticamente significativa entre os estados civis.
Se você preferir uma abordagem mais concisa, podemos obter os mesmos resultados usando os operadores de canal ("%>%") do pacote dirtyverse. Ao canalizar os dados diretamente para a tabela e, em seguida, para o teste qui-quadrado, podemos simplificar o código e obter a mesma resposta.
Espero que você tenha achado esta visão geral do teste qui-quadrado informativa. Se você estiver interessado em se aprofundar no assunto, recomendo assistir ao vídeo mais longo sobre o teste qui-quadrado, que fornecerá uma compreensão mais abrangente de sua mecânica. Continue com o excelente trabalho, mantenha-se curioso e lembre-se de sempre se esforçar para aprender continuamente.
Programação R em uma hora - um curso intensivo para iniciantes
Programação R em uma hora - um curso intensivo para iniciantes
O tutorial em vídeo fornece um curso intensivo de programação R para iniciantes. Abrange os fundamentos do R e acesso a conjuntos de dados integrados, técnicas de manipulação de dados, exploração de dados usando funções como vislumbre e casos completos, técnicas de limpeza de dados, como criação de subconjuntos e renomeação, técnicas de visualização de dados usando a gramática de gráficos, testes T, Testes ANOVA e Qui-quadrado, modelos lineares e como remodelar quadros de dados. O instrutor enfatiza a importância de explorar conjuntos de dados e discute ferramentas para tornar a análise e visualização de dados mais intuitivas, como o verso arrumado e o pacote ggplot2. O vídeo termina com uma demonstração de um teste qui-quadrado e um modelo linear usando o conjunto de dados "cars", com foco na interpretação da saída.
População, Amostra, Parâmetro, Estatística
População, Amostra, Parâmetro, Estatística
Olá pessoal! Na sessão de hoje, abordaremos alguns dos vocabulários mais importantes no campo da estatística. Vamos mergulhar de cabeça e começar com dois conceitos fundamentais: população e amostra.
Uma população refere-se a todos os dados de interesse em um determinado estudo, incluindo observações, respostas, medições e assim por diante. Por outro lado, uma amostra é um subconjunto dessa população. Para ilustrar isso, vamos considerar uma pesquisa política conduzida por uma empresa. Eles contatam aleatoriamente 1.200 eleitores e perguntam sobre suas preferências de voto. Nesse caso, a amostra seria a lista de preferências obtida desses 1.200 indivíduos. A população, tecnicamente falando, seria a lista de preferências de todos os eleitores registrados. É importante observar que tanto a população quanto a amostra referem-se às próprias preferências, não aos indivíduos.
Na maioria dos casos, não é viável coletar dados de uma população inteira. Em vez disso, contamos com amostras para tirar conclusões sobre as populações. Essa é a essência da estatística inferencial — usar dados de amostra para fazer inferências sobre populações. Agora, vamos passar para as definições de chave.
Em primeiro lugar, um parâmetro é um valor numérico que descreve uma população. Ele fornece informações sobre a população como um todo. Por exemplo, em nosso exemplo de enquete, o parâmetro seria a porcentagem de todos os eleitores registrados que pretendem votar em um determinado candidato.
Em segundo lugar, uma estatística é um valor numérico que descreve uma amostra. Ele representa características ou medições derivadas dos dados da amostra. Voltando ao nosso cenário de pesquisa, se 38% dos 1.200 eleitores da amostra expressam sua intenção de votar no candidato A, então 38% é uma estatística – uma representação das preferências da amostra.
Normalmente, só temos acesso à estatística, pois muitas vezes é impraticável obter parâmetros para toda a população. No entanto, nosso interesse final está nos parâmetros, pois eles fornecem informações sobre a população geral. Vamos considerar mais alguns exemplos para solidificar nosso entendimento.
Exemplo 1: A idade média de 50 veículos selecionados aleatoriamente registrados no DMV de Nova York é de 8 anos. Aqui, a população seria a idade de todos os veículos registrados no DMV de Nova York. A amostra, neste caso, é composta pelas idades dos 50 veículos selecionados aleatoriamente. O parâmetro seria a idade média de todos os veículos matriculados em Nova York, enquanto a estatística seria a idade média dos 50 selecionados aleatoriamente.
Exemplo 2: em 2018, a renda familiar média nos Estados Unidos era de US$ 63.937, enquanto em Chicago era de US$ 70.760. Nesse cenário, a população refere-se à renda de todas as famílias nos Estados Unidos em 2018, enquanto a amostra representa a renda das famílias em Chicago no mesmo ano. O primeiro valor, $ 63.937, é um parâmetro que descreve a população, enquanto o segundo valor, $ 70.760, é uma estatística que representa a amostra.
Compreender a distinção entre população e amostra, bem como parâmetros e estatísticas, é crucial na análise estatística. Embora possamos ter acesso principalmente a estatísticas, nosso objetivo é inferir e estimar parâmetros, pois eles fornecem uma perspectiva mais ampla de toda a população.
Tipos de dados
Tipos de dados
Olá pessoal! Hoje, discutiremos a classificação de dados, que envolve dois tipos fundamentais: dados quantitativos e dados categóricos.
Os dados quantitativos consistem em medições ou contagens numéricas. Ele lida com dados que podem ser medidos ou expressos em termos numéricos. Exemplos de dados quantitativos incluem a altura das mulheres na América do Sul, o peso dos recém-nascidos em hospitais britânicos e o número de desempregados em cada nação do mundo.
Por outro lado, os dados categóricos, também conhecidos como dados qualitativos, consistem em rótulos ou descritores. Envolve dados que podem ser agrupados em categorias ou classes. Exemplos de dados categóricos incluem a cor dos olhos dos gatos, filiações partidárias dos eleitores e marcas preferidas de refrigerantes entre os consumidores.
Às vezes, pode ser complicado determinar o tipo de dados, especialmente quando aparecem como números. Uma maneira rápida de distinguir entre dados categóricos e quantitativos é considerar se operações numéricas, como calcular médias, fazem sentido. Se os dados forem apenas rotulados e não corresponderem a medições ou contagens significativas, eles devem ser considerados categóricos. Por exemplo, os números usados nas camisas de beisebol não possuem qualquer significado quantitativo e devem ser classificados como dados categóricos.
Os dados categóricos podem ainda ser categorizados em dois tipos: ordinal e nominal. Dados ordinais usam categorias que possuem uma ordem significativa. Um exemplo familiar é a escala Likert, que oferece opções como discordo totalmente, discordo, neutro, concordo e concordo totalmente. Essas categorias podem ser classificadas em uma ordem natural. Em contraste, os dados nominais usam categorias que não possuem uma ordem significativa. Os exemplos incluem afiliações políticas, sexo e refrigerantes favoritos. Embora pudéssemos impor uma ordem aos dados nominais, isso seria arbitrário e baseado na opinião pessoal.
Da mesma forma, os dados quantitativos podem ser classificados em dois tipos: razão e intervalo. Os dados de proporção permitem proporções e múltiplos significativos. Variáveis como renda, peso e idade se enquadram nessa categoria. Faz sentido dizer que uma pessoa tem o dobro da idade de outra ou que alguém ganha metade do que outra. Por outro lado, os dados de intervalo não suportam proporções e múltiplos. Variáveis como temperatura e ano civil são exemplos de dados de intervalo. Seria inapropriado dizer que uma temperatura é duas vezes mais quente que outra porque a escolha do zero na escala é arbitrária e não indica a ausência do atributo que está sendo medido.
Para determinar o nível de medição, uma abordagem rápida é verificar se zero na escala corresponde a nada ou nada. Se zero significa a ausência do atributo, indica um nível de medição de razão. Por exemplo, zero quilogramas, $ 0 ou 0 anos implicam que não há peso, dinheiro ou idade. Em contraste, se zero não denota uma ausência em nenhum sentido real, ele indica um nível de intervalo de medição. Por exemplo, zero graus Fahrenheit ou zero graus Celsius são apenas pontos arbitrários em suas respectivas escalas.
Vamos explorar alguns exemplos para praticar a classificação e o nível de medição. Determinaremos se as variáveis são quantitativas ou categóricas e identificaremos seu nível de medição:
Tempos de espera em um banco: Esses dados consistem em números e fazem sentido falar sobre índices e múltiplos. Portanto, são dados quantitativos no nível de medição de razão.
Gêneros dos vencedores do Oscar de Melhor Diretor: Esses dados são categóricos, representando identificadores em vez de números. Não pode ser classificado de maneira significativa, portanto, são dados categóricos no nível nominal.
Nomes de livros na lista dos mais vendidos do New York Times: Como são nomes, os dados são categóricos. Além disso, os nomes podem ser naturalmente ordenados como primeiro, segundo, terceiro best-sellers, etc., indicando dados ordinais.
Horas do dia em que os raios caem no Empire State Building: Esses dados são quantitativos, pois envolvem a medição do tempo entre os raios. No entanto, cai sob o nível de intervalo de medição porque não há ponto zero que represente a ausência de descargas atmosféricas. Os intervalos de tempo podem ser medidos e comparados, mas zero não significa falta de golpes.
Em resumo, a classificação de dados envolve a diferenciação entre dados quantitativos e categóricos. Os dados quantitativos consistem em medições ou contagens numéricas, enquanto os dados categóricos consistem em rótulos ou descritores. É importante considerar se operações numéricas e proporções significativas se aplicam para determinar o tipo de dados.
Os dados categóricos podem ainda ser categorizados como ordinais ou nominais, dependendo se há uma ordem significativa entre as categorias. Os dados ordinais têm uma classificação natural, enquanto os dados nominais não. Da mesma forma, os dados quantitativos podem ser classificados como razão ou intervalo com base na existência de razões e múltiplos significativos. Os dados de proporção permitem proporções e múltiplos, enquanto os dados de intervalo não.
Compreender o nível de medição é crucial para selecionar análises estatísticas apropriadas e interpretar os dados corretamente. O nível de medição determina as operações matemáticas que podem ser realizadas nos dados e o significado do zero na escala.
Ao classificar e determinar com precisão o nível de medição dos dados, estatísticos e pesquisadores podem escolher técnicas estatísticas adequadas e obter insights significativos de suas análises.