<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivo para Análise de Dados - Bóson Treinamentos em Ciência e Tecnologia</title>
	<atom:link href="https://www.bosontreinamentos.com.br/tag/analise-de-dados/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bosontreinamentos.com.br/tag/analise-de-dados/</link>
	<description>Artigos e Tutoriais sobre Desenvolvimento de Software, Bancos de Dados SQL, Linux, Lógica de Programação, Inteligência Artificial, Hardware, Eletrônica, Arduino, Técnicas e Teorias de Estudo e Aprendizagem, Carreira em TI, Ciências Cognitivas, e muito mais!</description>
	<lastBuildDate>Wed, 24 Mar 2021 11:11:29 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.8</generator>
	<item>
		<title>7 Linguagens de programação para Ciência de Dados &#8211; 2021</title>
		<link>https://www.bosontreinamentos.com.br/ciencia-de-dados/7-linguagens-de-programacao-para-ciencia-de-dados-2021/</link>
					<comments>https://www.bosontreinamentos.com.br/ciencia-de-dados/7-linguagens-de-programacao-para-ciencia-de-dados-2021/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Tue, 23 Mar 2021 15:44:49 +0000</pubDate>
				<category><![CDATA[Carreira]]></category>
		<category><![CDATA[Ciência de Dados]]></category>
		<category><![CDATA[Análise de Dados]]></category>
		<category><![CDATA[Big Data]]></category>
		<category><![CDATA[Data Science]]></category>
		<category><![CDATA[Julia]]></category>
		<category><![CDATA[Octave]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=17644</guid>

					<description><![CDATA[<p>7 Linguagens de programação para Ciência de Dados &#8211; 2021 A ciência de dados é uma área do conhecimento que envolve o estudo e a análise de dados dos mais variados tipos, incluindo financeiros, científicos, sociais e econômicos. Seu intuito é a extração de conhecimento, descoberta de informações ocultas e detecção de padrões em conjuntos de dados para auxiliar na tomada de decisões e gerar valor para o negócio. Por conta disso,&#160;uma das profissões / carreiras mais em alta na atualidade é o cargo de Cientista de Dados.&#160; Um cientista de dados precisa ter um leque de conhecimentos diverso, combinando expertise em várias áreas do conhecimento, como matemática (principalmente estatística e probabilidade), conhecimentos específicos da área do negócio e, naturalmente, linguagens de programação para a criação de algoritmos e aplicações de software que são empregados no dia-a-dia. E aqui surge a dúvida mais comum entre os aspirantes à ciência de dados: que linguagem de programação aprender? Dada a quantidade de opções existentes, incluindo linguagens de uso geral e linguagens de nicho, quais linguagens de programação seriam mais apropriadas para uso em ciência de dados? Para ajudar a responder a essas perguntar e dar um direcionamento aos interessados na área, listo [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/ciencia-de-dados/7-linguagens-de-programacao-para-ciencia-de-dados-2021/">7 Linguagens de programação para Ciência de Dados &#8211; 2021</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>7 Linguagens de programação para Ciência de Dados &#8211; 2021</h2>
<p>A ciência de dados é uma área do conhecimento que envolve o estudo e a análise de dados dos mais variados tipos, incluindo financeiros, científicos, sociais e econômicos. Seu intuito é a extração de conhecimento, descoberta de informações ocultas e detecção de padrões em conjuntos de dados para auxiliar na tomada de decisões e gerar valor para o negócio.</p>
<p>Por conta disso,&nbsp;uma das profissões / carreiras mais em alta na atualidade é o cargo de Cientista de Dados.&nbsp;</p>
<p>Um cientista de dados precisa ter um leque de conhecimentos diverso, combinando expertise em várias áreas do conhecimento, como matemática (principalmente estatística e probabilidade), conhecimentos específicos da área do negócio e, naturalmente, linguagens de programação para a criação de algoritmos e aplicações de software que são empregados no dia-a-dia.</p>
<p>E aqui surge a dúvida mais comum entre os aspirantes à ciência de dados: que linguagem de programação aprender? Dada a quantidade de opções existentes, incluindo linguagens de uso geral e linguagens de nicho, quais linguagens de programação seriam mais apropriadas para uso em ciência de dados?</p>
<p>Para ajudar a responder a essas perguntar e dar um direcionamento aos interessados na área, listo a seguir sete linguagens de programação muito importantes e úteis para o trabalho de um cientista de dados atualmente (e para outras áreas, como Big Data, Machine Learning, Inteligência Artificial, e outras).</p>
<p>Vamos lá!</p>
<h3>1. <a href="http://www.bosontreinamentos.com.br/category/programacao-em-python/">Python</a></h3>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-17374" title="linguagem de programação python" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/Python-logo-1024x1024.png" alt="Logotipo Python" width="250" height="250" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/Python-logo-1024x1024.png 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/Python-logo-170x170.png 170w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/Python-logo-420x420.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/Python-logo-768x768.png 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/Python-logo.png 2000w" sizes="auto, (max-width: 250px) 100vw, 250px" /></p>
<p>Python é, sem sombra de dúvida, a linguagem ideal para iniciantes em ciência de dados e muitas outras áreas da computação). Com Python é possível trabalhar em nichos diversos como aprendizado de máquina, inteligência artificial, análise de dados, visualização de dados, automação de tarefas e como linguagem de propósito geral, tudo graças ao seu extenso conjunto de poderosas bibliotecas, que inclui ferramentas como <a href="http://www.bosontreinamentos.com.br/programacao-em-python/como-criar-um-array-no-python-com-numpy/">NumPy</a>, <a href="http://www.bosontreinamentos.com.br/programacao-em-python/como-criar-graficos-com-matplotlib-em-python/">Matplotlib</a>, Pandas, SciPy e muitas outras.</p>
<p>É, atualmente, uma das linguagens mais utilizadas no mundo, e com perspectivas de crescimento ainda maior nos próximos anos.<br />
Além de tudo isso, é uma linguagem ideal para iniciantes em computação, por sua facilidade de uso e curva de aprendizado muito suave.</p>
<p>É uma linguagem de código aberto, orientada a objetos, muito flexível e com uma comunidade de desenvolvedores gigantesca, que facilita enormemente a troca de informações e orientações sobre ouso da linguagem em si e suas bibliotecas.</p>
<h3>2. <a href="http://www.bosontreinamentos.com.br/category/programacao-em-r/">Linguagem R</a></h3>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-17376" title="linguagem r para ciência de dados" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/logo-linguagem-r.png" alt="Linguagem R" width="251" height="141" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/logo-linguagem-r.png 960w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/logo-linguagem-r-420x236.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/logo-linguagem-r-768x432.png 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/logo-linguagem-r-580x326.png 580w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/logo-linguagem-r-174x98.png 174w" sizes="auto, (max-width: 251px) 100vw, 251px" /></p>
<p>Outra linguagem de peso no mundo da ciência de dados, é uma das ferramentas open source para análise estatística mais poderosas disponívis, e que pode ser empregada em tarefas como processamento de grandes volumes de dados, modelagem matemática, mineração de dados, cálculos estatísticos (claro!), e ainda por cima possui bibliotecas gráficas de alta qualidade para visualização de dados.</p>
<p>Com R é possível criar aplicações como sistemas de detecção de fraudes financeiras, modelagem de análise de sentimentos e sistemas de recomendação, além de aplicações para áreas tão diversas quanto engenharia, medicina e biologia.</p>
<p>Tarefas como análise de séries temporais, clustering e modelagem linear são algumas dos exemplos de processos que a linguagem R suporta com simplicidade.</p>
<p>Além disso, existem várias interfaces que podem ser usadas com o R para facilitar o trabalho de desenvolvimento de algoritmos e aplicações, tais como o RStudio e Jupyter Notebooks, entre outras.</p>
<p>Comumente usamos Python e R combinados, unindo suas funcionalidades em um par excelente para praticamente qualquer aplicação.</p>
<p>Como contras da linguagem, podemos citar a velocidade de execução e a quantidade de recursos de hardware que scripts escritos em R consomem, especialmente memória RAM.</p>
<h3>3. <a href="http://www.bosontreinamentos.com.br/curso-completo-de-mysql/">SQL</a></h3>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-17655" title="bancos de dados com SQL" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2021/03/Database-icon-05.png" alt="linguagem SQL para bancos de dados" width="250" height="250" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2021/03/Database-icon-05.png 400w, https://www.bosontreinamentos.com.br/wp-content/uploads/2021/03/Database-icon-05-170x170.png 170w" sizes="auto, (max-width: 250px) 100vw, 250px" /></p>
<p>Linguagem de Consulta Estruturada para Bancos de Dados, é uma das linguagens mais importantes para trabalho com dados e principalmente <a href="https://youtu.be/JPC5mE9iI0I" target="_blank" rel="noopener">Big Data</a>, ao combinar capacidades analíticas e de consultas com transacionais. SQL é um conhecimento básico para praticamente qualquer interessado em trabalhar com desenvolvimento de sistemas de todos os tipos, e em ciência de dados é imprescindível.</p>
<p>Em que usamos SQL exatamente? Bem, trata-se de uma linguagem de domínio específico, sendo empregada no gerenciamento de dados armazenados, local ou remotamente.</p>
<p>Note que existem diversos &#8220;sabores&#8221; de SQL, dependendo da implementação do fabricante &#8211; mas todos seguem um mesmo padrão, o ANSI SQL. E um ponto muito favorável do SQL é que essa linguagem se integra com muita facilidade às outras linguagens de programação, sendo extremamente comum desenvolver aplicações que mesclem códigos escritos, por exemplo, em Python ou Java com SQL.</p>
<h3>4. <a href="http://www.bosontreinamentos.com.br/category/java/">Java</a></h3>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-17379" title="linguagem java para data science" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/java.png" alt="Linguagem Java da Oracle" width="250" height="250" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/java.png 512w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/java-170x170.png 170w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/java-420x420.png 420w" sizes="auto, (max-width: 250px) 100vw, 250px" /></p>
<p>Linguagem de propósito geral e alta performance, o Java é empregado no desenvolvimento de algoritmos para machine learning, além de encontrar aplicações em nichos como Big Data e IoT (Internet das Coisas). É vastamente empregada no desenvolvimento de aplicações móveis e para Web.</p>
<p>Muitos frameworks e ferramentas empregadas em Big Data são escritos ou rodam em Java, como por exemplo Apache Spark, Hive e o Hadoop.</p>
<p>Uma das grandes vantagens do Java é a disponibilidade de IDEs de qualidade para o desenvolvimento de aplicações com eficiência e rapidez, incluindo softwares de alta complexidade. Alguns dos IDEs mais comuns incluem o Eclipse, Netbeans e IntelliJ, entre outros menos usados.</p>
<p>Alguns dos nichos onde o Java é mais empregado na área de ciência de dados incluem Aprendizado Profundo (Deep Learning), Processamento de Linguagem Natural (NLP &#8211; Natural Language Processing) e Mineração de Dados (Data Mining), entre outras.</p>
<p>Um ponto no qual a linguagem peca é a falta de ferramentas altamente especializadas para trabalho com estatística e cálculos matemáticos avançados, o que pode ser contornado combinando a linguagem Java com outras linguagens mais especializadas como a linguagem R, por exemplo.</p>
<h3>5. <a href="http://www.bosontreinamentos.com.br/category/programacao-em-c/">C/C++</a></h3>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-17381" title="aprender c++ para ciência de dados" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/linguagem-c-programacao-1024x1024.png" alt="Linguagem de Programação C++" width="250" height="250" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/linguagem-c-programacao-1024x1024.png 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/linguagem-c-programacao-170x170.png 170w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/linguagem-c-programacao-420x420.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/linguagem-c-programacao-768x768.png 768w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/linguagem-c-programacao.png 1600w" sizes="auto, (max-width: 250px) 100vw, 250px" /></p>
<p>São as linguagens mais antigas listadas neste artigo, e provavelmente as mais difíceis de aprender, mas nem por isso com importância menor: C/C++ (principalmente C++) constitui a principal ferramenta em muitos tipos de sistemas de alta performance, sendo empregada em áreas como Inteligência Artificial, Aprendizado de Máquina e Robótica, onde o processamento de dados analíticos precisa ser feito com muita rapidez e alta performance.</p>
<p>Uma das aplicações mais modernas do C++ é no desenvolvimento de aplicações para veículos autônomos, que necessitam de algoritmos de análise de dados altamente complexos e performáticos, e em muitas aplicações de tempo real onde conjuntos de dados precisam ser tratados praticamente no momento em que são utilizados.</p>
<p>É interessante notar que muitas das linguagens citadas neste artigo são elas próprias escritas em C ou C++, com Python, R e Julia, assim como muitas bibliotecas e frameworks usados em data science, como o TensorFlow, por exemplo.</p>
<h3>6. <a href="http://www.bosontreinamentos.com.br/julia/como-instalar-a-linguagem-julia-no-linux-debian/">Julia</a></h3>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-17236" title="linguagem julia para data science" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/11/julia-logo-1024x692.png" alt="Logo linguagem Julia" width="250" height="169" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/11/julia-logo.png 1024w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/11/julia-logo-420x284.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/11/julia-logo-768x519.png 768w" sizes="auto, (max-width: 250px) 100vw, 250px" /></p>
<p>Inicialmente concebida como uma linguagem para programação científica, é uma linguagem de alto nível extremamente rápida que pode ser usada para o desenvolvimento de diversos tipos de aplicações, sozinha ou em conjunto com bibliotecas C/C++ ou Python.</p>
<p>Sua grande força está nas tarefas de análise numérica, apesar de também poder ser usada como linguagem de programação de propósito geral. É uma linguagem intuitiva, bastante acessível, além de ser de código aberto.</p>
<p>Uma de suas principais aplicações é na área financeira, onde existe a necessidade de realizar cálculos de forma massiva e com muita rapidez, com cálculos de análise de risco ou análise de séries temporais.</p>
<p>Um de seus problemas é o fato de ser uma linguagem relativamente nova e, que por isso, ainda possui uma comunidade de usuários pequena, com menos documentação disponível para consulta.</p>
<p>Porém, permite o interfaceamento (direto ou por pacotes específicos) com bibliotecas de outras linguagens, como Python, R, C++, Matlab e até mesmo Fortran, a´lem de possuir suporta a computação distribuída e computação paralela, o que significa aplicações de elevada performance!</p>
<p>Suas ferramentas de visualização de dados ainda não estão no mesmo nível das ferramentas disponíveis outras linguagens, mas vem melhorando a cada dia.</p>
<h3>7. Matlab / <a href="http://www.bosontreinamentos.com.br/category/octave/">Octave</a></h3>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-17432 size-full" title="programação com octave para ciência de dados" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/Gnu-octave.png" alt="GNU Octave - Computação Científica" width="200" height="200" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/Gnu-octave.png 200w, https://www.bosontreinamentos.com.br/wp-content/uploads/2020/12/Gnu-octave-170x170.png 170w" sizes="auto, (max-width: 200px) 100vw, 200px" /></p>
<p>Matlab é um ambiente de computação matemática e uma linguagem proprietária amplamente utilizada em cenários que demandam operações de cálculos avançados.</p>
<p>Encontra aplicações em análise de dados, processamento de imagens, processamento de sinais e, evidentemente, criação de modelos matemáticos por meio da manipulação de matrizes, álgebra linear, análise numérica e outras técnicas, facilitando enormemente a resolução dos problemas matemáticos mais complicados.</p>
<p>É uma linguagem recomendada para trabalho com Big Data e também na Indústria, principalmente de Engenharia. O Matlab traz suporte nativo a diversos formatos de dados empregados em telemetria, sensores, processamento de imagem e vídeo, e muitos outros.</p>
<p>Como ponto talvez negativo do Matlab posso citar o fato de não ser uma linguagem muito rápida, e necessitar de uma licença, de custo relativamente elevado, para ser usada.</p>
<p>O Octave é a principal alternativa ao Matlab, podendo substitui-la no geral em quase todas as tarefas necessárias para análise de dados, com algumas diferenças funcionais. Além disso, é gratuito.</p>
<h3>Extra: Matemática</h3>
<p>Como citado no início do artigo, conhecimentos em matemática são muito importantes &#8211; até mesmo cruciais &#8211; para o trabalho na área de data science. Alguns dos tópicos mais relevantes em matemática que é necessário dominar &#8211; ou ao menos revisar &#8211; incluem:</p>
<ul>
<li><a href="http://www.bosontreinamentos.com.br/matematica/topicos-em-matematica-media-mediana-e-moda-estatistica/">Estatística</a> (essencial)</li>
<li>Probabilidade&nbsp;(essencial)</li>
<li>Cálculo Integral e Diferencial</li>
<li>Cálculo Numérico (Álgebra Linear)</li>
</ul>
<p>Entre outros. Claro que conhecer matemática é benéfico para qualquer área de atuação, principalmente nos domínios da tecnologia, independente do trabalho ser voltado para ciência de dados ou não.</p>
<p>Além disso, tão importante quanto conhecer as linguagens de programação é saber como usar as diversas bibliotecas e frameworks disponíveis para data science, pois, no dia-a-dia do trabalho, é o que você irá usar com mais frequência, e por isso vale a pena investir seu tempo nesse aprendizado.</p>
<h3>Conclusão</h3>
<p>Neste artigo procurei trazer algumas das linguagens de programação mais indicadas para quem deseja trabalhar com ciência de dados. Note que essas sete linguagens não são as únicas que se prestam a essa tarefa, existindo outras linguagens também interessantes para a área, como Haskell e Lisp, por exemplo. Ciência de Dados é uma área muito vasta, se ramificando em inúmeros caminhos possíveis, e a verdade é que provavelmente você precisará aprender mais do que uma das linguagens citadas &#8211; talvez várias delas ao longo de sua carreira e estudos.</p>
<p>Finalmente, tudo o que foi exposto aqui é, basicamente, minha opinião pessoal e minha visão, baseada em meus estudos e experiência de mercado e acadêmica.</p>
<p>Evidentemente vocês podem pensar de forma diferente &#8211; talvez achando que uma linguagem deveria ter sido incluída na lista, ou que uma das linguagens que citei não deveria estar aqui &#8211; e por isso os convido a postarem seus pensamentos nos comentários logo abaixo, para trocarmos ideias sobre esse assunto tão importante e interessante na atualidade &#8211; e certamente pelos anos vindouros.</p>
<p>Até!</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/ciencia-de-dados/7-linguagens-de-programacao-para-ciencia-de-dados-2021/">7 Linguagens de programação para Ciência de Dados &#8211; 2021</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/ciencia-de-dados/7-linguagens-de-programacao-para-ciencia-de-dados-2021/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Como tokenizar strings em Java com o método split</title>
		<link>https://www.bosontreinamentos.com.br/java/como-tokenizar-strings-em-java-com-o-metodo-split/</link>
					<comments>https://www.bosontreinamentos.com.br/java/como-tokenizar-strings-em-java-com-o-metodo-split/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Thu, 12 Dec 2019 12:44:59 +0000</pubDate>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Análise de Dados]]></category>
		<category><![CDATA[Orientação a Objetos]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=15934</guid>

					<description><![CDATA[<p>Como tokenizar strings em Java com o método split da classe String Damos o nome de tokens às palavras individuais e marcas de pontuação (pontos, vírgulas, etc) que compõem e dão sentido a uma frase ou parágrafo de texto. Quando lemos um texto qualquer, nosso cérebro efetua a separação dessas palavras automaticamente, de modo a entendermos o significado do conteúdo lido. Não só nós realizamos esse processo &#8211; compiladores, por exemplo, também realizam a separação de sentença e comandos em partes individuais, como palavras-chave, operadores, nomes de objetos e outros elementos que compõem o código-fonte. Em outras palavras, os compiladores tokenizam o código para analisá-lo, antes de tentar executá-lo. Em Java, é possível realizar essa separação de elementos em uma string &#8211; ou seja, tokenizar &#8211; por meio do emprego do método split, pertencente à classe String. Método split &#8211; Divide um objeto String em seus tokens componentes, separados entre si por delimitadores especificados. Comumente, os delimitadores empregados são caracteres de espaço, tabulação, newline (quebra de linha), entre outros. Mas também é possível usar outros caracteres como delimitadores &#8211; por exemplo, é comum usar vírgulas em arquivos do tipo CSV (comma-separated values / valores separados por vírgulas). O método split [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/java/como-tokenizar-strings-em-java-com-o-metodo-split/">Como tokenizar strings em Java com o método split</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Como tokenizar strings em Java com o método split da classe String</h2>
<p>Damos o nome de <em><strong>tokens</strong></em> às palavras individuais e marcas de pontuação (pontos, vírgulas, etc) que compõem e dão sentido a uma frase ou parágrafo de texto. Quando lemos um texto qualquer, nosso cérebro efetua a separação dessas palavras automaticamente, de modo a entendermos o significado do conteúdo lido.</p>
<p>Não só nós realizamos esse processo &#8211; compiladores, por exemplo, também realizam a separação de sentença e comandos em partes individuais, como palavras-chave, operadores, nomes de objetos e outros elementos que compõem o código-fonte.<br />
Em outras palavras, os compiladores <strong>tokenizam</strong> o código para analisá-lo, antes de tentar executá-lo.</p>
<p>Em Java, é possível realizar essa separação de elementos em uma string &#8211; ou seja, tokenizar &#8211; por meio do emprego do método <em><strong>split</strong></em>, pertencente à <a href="http://www.bosontreinamentos.com.br/java/programacao-em-java-a-classe-string-introducao/">classe String</a>.</p>
<p>Método split &#8211; Divide um objeto String em seus tokens componentes, separados entre si por delimitadores especificados. Comumente, os delimitadores empregados são caracteres de espaço, tabulação, newline (quebra de linha), entre outros. Mas também é possível usar outros caracteres como delimitadores &#8211; por exemplo, é comum usar vírgulas em arquivos do tipo <strong>CSV</strong> (comma-separated values / valores separados por vírgulas).</p>
<p>O método split toma como argumento um caractere a ser considerado como delimitador.</p>
<h3>Exemplo</h3>
<p>Vejamos um exemplo de tokenização de uma String em Java.</p>
<pre><strong>Scanner entrada = new Scanner(System.in);</strong>
<strong>System.out.println("Digite um texto para ser dividido em seus tonkens constituintes, e pressione enter:");</strong>
<strong>String texto = entrada.nextLine();</strong>
<span style="color: #339966;"><strong>// Realizar o processamento da frase, separando seus tokens</strong></span>
<strong>String[] tokens = texto.split(" ");</strong>
<span style="color: #339966;"><strong>//Informar quantos tokens há na frase:</strong></span>
<strong>System.out.printf("%nA frase informada possui %d tokens.%n", tokens.length);</strong>
<span style="color: #339966;"><strong>//Mostrar os tokens obtidos</strong></span>
<strong>System.out.println("Os tokens da frase são:\n");</strong>
<strong>for (String item : tokens) {</strong>
<strong>  System.out.println(item);</strong>
<strong>}</strong></pre>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-15938 size-full" title="como tokenizar strings em Java" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/token-strings-Java.png" alt="como tokenizar strings em Java" width="837" height="330" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/token-strings-Java.png 837w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/token-strings-Java-420x166.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/token-strings-Java-768x303.png 768w" sizes="auto, (max-width: 837px) 100vw, 837px" /></p>
<p>Neste exemplo, a frase informada é tokenizada pelo método split, que recebeu como argumento o delimitador espaço (&#8221; &#8220;), e os tokens individuais são armazenados em um array de String que chamamos de tokens. Assim, podemos acessar qualquer um dos tokens simplesmente lendo uma posição no array, ou imprimir todos eles, como fizemos no programa.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/java/como-tokenizar-strings-em-java-com-o-metodo-split/">Como tokenizar strings em Java com o método split</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/java/como-tokenizar-strings-em-java-com-o-metodo-split/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Operadores Lógicos e Operadores de Comparação em R</title>
		<link>https://www.bosontreinamentos.com.br/programacao-em-r/operadores-logicos-e-operadores-de-comparacao-em-r/</link>
					<comments>https://www.bosontreinamentos.com.br/programacao-em-r/operadores-logicos-e-operadores-de-comparacao-em-r/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Thu, 05 Dec 2019 15:32:39 +0000</pubDate>
				<category><![CDATA[Programação em R]]></category>
		<category><![CDATA[Análise de Dados]]></category>
		<category><![CDATA[Linguagem R]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=14191</guid>

					<description><![CDATA[<p>Operadores Lógicos e de Comparação em R Nesta lição abordaremos dois tipos de operadores em linguagem R: Operadores Lógicos e Operadores de Comparação. Esse operadores trabalham sempre com dois valores de retorno possíveis: TRUE (verdadeiro) ou FALSE (falso), também denotados pelas letras maiúsculas T e F, respectivamente. Operadores de Comparação em R Também conhecidos como operadores relacionais, permitem estabelecer a relação entre dois valores de entrada, e retornar um valor lógico verdadeiro ou falso dependendo da relação. Por exemplo, um operador de comparação pode comparar dois números e dizer se eles são iguais ou não. Os operadores&#160; de comparação em R são os seguintes: Operador Significado == igual a != diferente de &#62; maior que &#60; menor que &#62;= maior ou igual a &#60;= menor ou igual a Os operadores de comparação sempre retornam um valor lógico TRUE ou FALSE. Operadores Lógicos em R Também conhecidos como operadores booleanos, permitem trabalhar com múltiplas condições relacionais na mesma expressão, e retornam valores lógicos verdadeiro ou falso. Os operadores lógicos disponíveis em R são: Operador Descrição Exemplo Explicação &#38; AND lógico &#62; x &#60;− 0:2 &#62; y &#60;− 2:0 &#62; (x &#60; 1) &#38; (y &#62; 1) [1] TRUE FALSE FALSE Versão [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/operadores-logicos-e-operadores-de-comparacao-em-r/">Operadores Lógicos e Operadores de Comparação em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Operadores Lógicos e de Comparação em R</h2>
<p>Nesta lição abordaremos dois tipos de operadores em linguagem R: <a href="http://www.bosontreinamentos.com.br/logica-de-programacao/09-logica-de-programacao-operadores-e-expressoes-logicas/" target="_blank" rel="noopener">Operadores Lógicos</a> e <a href="http://www.bosontreinamentos.com.br/logica-de-programacao/08-logica-de-programacao-operadores-e-expressoes-relacionais/" target="_blank" rel="noopener">Operadores de Comparação</a>.</p>
<p>Esse operadores trabalham sempre com dois valores de retorno possíveis: <strong>TRUE</strong> (verdadeiro) ou <strong>FALSE</strong> (falso), também denotados pelas letras maiúsculas <strong>T</strong> e <strong>F</strong>, respectivamente.</p>
<h3>Operadores de Comparação em R</h3>
<p>Também conhecidos como operadores relacionais, permitem estabelecer a relação entre dois valores de entrada, e retornar um valor lógico verdadeiro ou falso dependendo da relação.</p>
<p>Por exemplo, um operador de comparação pode comparar dois números e dizer se eles são iguais ou não.</p>
<p>Os operadores&nbsp; de comparação em R são os seguintes:</p>
<table style="border-collapse: collapse; width: 60.4348%; height: 169px;" border="1">
<thead>
<tr style="height: 24px;">
<td style="width: 36.1822%; height: 24px; text-align: center;"><span style="font-size: 14pt;"><strong>Operador</strong></span></td>
<td style="width: 63.8178%; height: 24px; text-align: center;"><span style="font-size: 14pt;"><strong>Significado</strong></span></td>
</tr>
</thead>
<tbody>
<tr style="height: 24px;">
<td style="width: 36.1822%; height: 24px; text-align: center;">==</td>
<td style="width: 63.8178%; height: 24px;">igual a</td>
</tr>
<tr style="height: 24px;">
<td style="width: 36.1822%; height: 24px; text-align: center;">!=</td>
<td style="width: 63.8178%; height: 24px;">diferente de</td>
</tr>
<tr style="height: 24px;">
<td style="width: 36.1822%; height: 24px; text-align: center;">&gt;</td>
<td style="width: 63.8178%; height: 24px;">maior que</td>
</tr>
<tr style="height: 24px;">
<td style="width: 36.1822%; height: 24px; text-align: center;">&lt;</td>
<td style="width: 63.8178%; height: 24px;">menor que</td>
</tr>
<tr style="height: 24px;">
<td style="width: 36.1822%; height: 24px; text-align: center;">&gt;=</td>
<td style="width: 63.8178%; height: 24px;">maior ou igual a</td>
</tr>
<tr style="height: 25px;">
<td style="width: 36.1822%; height: 25px; text-align: center;">&lt;=</td>
<td style="width: 63.8178%; height: 25px;">menor ou igual a</td>
</tr>
</tbody>
</table>
<p>Os operadores de comparação sempre retornam um valor lógico TRUE ou FALSE.</p>
<h3><a href="http://www.bosontreinamentos.com.br/logica-de-programacao/09-logica-de-programacao-operadores-e-expressoes-logicas/" target="_blank" rel="noopener">Operadores Lógicos</a> em R</h3>
<p>Também conhecidos como operadores booleanos, permitem trabalhar com múltiplas condições relacionais na mesma expressão, e retornam valores lógicos verdadeiro ou falso.</p>
<p>Os operadores lógicos disponíveis em R são:</p>
<table style="border-collapse: collapse; width: 100%;" border="1">
<thead>
<tr>
<td style="width: 9.41128%; text-align: center;"><strong>Operador</strong></td>
<td style="width: 13.669%; text-align: center;"><strong>Descrição</strong></td>
<td style="width: 20.7823%; text-align: center;"><strong>Exemplo</strong></td>
<td style="width: 56.1374%; text-align: center;"><strong>Explicação</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td style="width: 9.41128%;">&amp;</td>
<td style="width: 13.669%;">AND lógico</td>
<td style="width: 20.7823%;">&gt; x &lt;− 0:2<br />
&gt; y &lt;− 2:0<br />
&gt; (x &lt; 1) &amp; (y &gt; 1)<br />
[1] TRUE FALSE FALSE</td>
<td style="width: 56.1374%;">Versão vetorizada. Compara dois elementos do tipo vetor e retorna um vetor de TRUEs e FALSEs</td>
</tr>
<tr>
<td style="width: 9.41128%;">&amp;&amp;</td>
<td style="width: 13.669%;">AND lógico</td>
<td style="width: 20.7823%;">&gt; x &lt;− 0:2<br />
&gt; y &lt;− 2:0<br />
&gt; (x &lt; 1) &amp;&amp; (y &gt; 1)<br />
[1] TRUE</td>
<td style="width: 56.1374%;">Versão não-vetorizada. Compara apenas o primeiro valor de cada vetor, retornando um valor lógico.</td>
</tr>
<tr>
<td style="width: 9.41128%;">|</td>
<td style="width: 13.669%;">OR lógico</td>
<td style="width: 20.7823%;">&gt; x &lt;− 0:2<br />
&gt; y &lt;− 2:0<br />
&gt; (x &lt; 1) | (y &gt; 1)<br />
[1] TRUE FALSE FALSE</td>
<td style="width: 56.1374%;">Versão vetorizada. Compara dois elementos do tipo vetor e retorna um vetor de TRUEs e FALSEs</td>
</tr>
<tr>
<td style="width: 9.41128%;">||</td>
<td style="width: 13.669%;">OR lógico</td>
<td style="width: 20.7823%;">&gt; x &lt;− 0:2<br />
&gt; y &lt;− 2:0<br />
&gt; (x &lt; 1) || (y &gt; 1)<br />
[1] TRUE</td>
<td style="width: 56.1374%;">Versão não-vetorizada. Compara apenas o primeiro valor de cada vetor, retornando um valor lógico.</td>
</tr>
<tr>
<td style="width: 9.41128%;">!</td>
<td style="width: 13.669%;">NOT lógico</td>
<td style="width: 20.7823%;">&gt; x &lt;− 0:2<br />
&gt; y &lt;− 2:0<br />
&gt; !y == x<br />
[1] TRUE FALSE TRUE</td>
<td style="width: 56.1374%;">Negação lógica. Retorna um valor lógico único ou um vetor de TRUE / FALSE.</td>
</tr>
<tr>
<td style="width: 9.41128%;">xor</td>
<td style="width: 13.669%;"><a href="http://www.bosontreinamentos.com.br/eletronica/eletronica-digital/porta-logica-xor/" target="_blank" rel="noopener">XOR</a></td>
<td style="width: 20.7823%;">&gt; x &lt;− TRUE<br />
&gt; y &lt;− FALSE<br />
&gt; xor(x,y)<br />
[1] TRUE</td>
<td style="width: 56.1374%;">Ou Exclusivo. Retorna valor lógico TRUE se ambos os valores de entrada forem diferentes entre si, e retorna FALSE se os valores forem iguais.</td>
</tr>
</tbody>
</table>
<p>Além desses operadores lógicos, também temos disponível em R a&nbsp;função <em><strong>isTRUE(x)</strong></em>, que verifica se o valor lógico armazenado na variável x é verdadeiro ou não.</p>
<h3>Exemplo de Operadores de Comparação</h3>
<p># Comparando valores numéricos</p>
<pre>5 &lt; 8
50 &gt; 100</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-15876" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-logico-R-01.png" alt="Operadores de Comparação em Linguagem R" width="172" height="71" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-logico-R-01.png 172w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-logico-R-01-170x71.png 170w" sizes="auto, (max-width: 172px) 100vw, 172px" /></p>
<p>Podemos armazenar os valores lógicos em variáveis:</p>
<pre>resultado &lt;- 4 == 9
print(resultado)</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-15877" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-comparar-R-02.png" alt="Operador de Comparação em R" width="188" height="50"></p>
<p>E verificar o tipo da variável:</p>
<pre>typeof(resultado)</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-15878" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-comparar-R-tipo-dado-03.png" alt="operador typeof em linguagem R" width="171" height="31" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-comparar-R-tipo-dado-03.png 171w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-comparar-R-tipo-dado-03-170x31.png 170w" sizes="auto, (max-width: 171px) 100vw, 171px" /></p>
<h3>Exemplos de Operadores Lógicos</h3>
<p><strong># Operador not:</strong></p>
<pre>res &lt;- !TRUE
print(res)
res2 &lt;- !(6 != 6)
print(res2)</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-15879" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-logico-NOT-R-04.png" alt="Operador lógico NOT em linguagem R" width="179" height="90"></p>
<p><strong># Operador or</strong></p>
<pre>print(res | res2)</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-15881" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-logico-OR-R-05.png" alt="Operador Lógico OR em linguagem R" width="159" height="35"></p>
<p><strong># Operador and</strong></p>
<pre>print(res &amp; res2)</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-15882" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-logico-AND-R-06.png" alt="Operados lógico AND em linguagem R" width="172" height="35" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-logico-AND-R-06.png 172w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-logico-AND-R-06-170x35.png 170w" sizes="auto, (max-width: 172px) 100vw, 172px" /></p>
<p><strong># Usando a função isTRUE()</strong></p>
<pre>isTRUE(res)</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-15883" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/isTrue-R.png" alt="Função isTRUE em linguagem R" width="149" height="34"></p>
<p><strong># Operador lógico XOR</strong></p>
<pre>xor(res, res2)</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-15885" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/12/operador-logico-XOR-R-07.png" alt="Operador lógico XOR em linguagem R" width="132" height="32"></p>
<p>É isso aí! Continuaremos a estudar operadores em R na próxima lição. Até!</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/operadores-logicos-e-operadores-de-comparacao-em-r/">Operadores Lógicos e Operadores de Comparação em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/programacao-em-r/operadores-logicos-e-operadores-de-comparacao-em-r/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como criar matrizes em R</title>
		<link>https://www.bosontreinamentos.com.br/programacao-em-r/como-criar-matrizes-em-r/</link>
					<comments>https://www.bosontreinamentos.com.br/programacao-em-r/como-criar-matrizes-em-r/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Wed, 20 Feb 2019 17:33:16 +0000</pubDate>
				<category><![CDATA[Programação em R]]></category>
		<category><![CDATA[Análise de Dados]]></category>
		<category><![CDATA[Linguagem R]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=14374</guid>

					<description><![CDATA[<p>Como criar matrizes em R Na lição anterior definimos o que é uma matriz em R, quais suas aplicações e como endereçar seus elementos. Agora iremos mostrar como é possível criar matrizes utilizando três funções bastante comuns em linguagem R: matrix(), rbind() e cbind(). Função matrix() Toma um vetor e o transforma em matriz, dividindo os dados presentes no vetor em várias linhas da matriz. Sintaxe: matrix(data = NA, nrow = x, ncol = y, byrow = TRUE &#124; T &#124; F &#124; FALSE) Onde: data é a fonte dos dados (por exemplo, um vetor) nrow é o número de linhas desejadas ncol é o número de colunas desejadas byrow indica se a matriz será preenchida por linhas ou colunas. O padrão é F ou FALSE (por colunas). Função rbind() Conecta vetores formando linhas de uma matriz com cada vetor (r = row) Sintaxe: rbind(vetor1, vetor2, ..., vetorN) Função cbind() Conecta vetores formando colunas de uma matriz com cada vetor (c = column) Sintaxe: cbind(vetor1, vetor2, ..., vetorN) Exemplos 1 &#8211; Criar um vetor com a função matrix() Iniciamos criando um vetor com, digamos, 20 posições preenchidas com números: &#62; vetor &#60;- 1:20 Agora vamos transformar esse vetor em uma [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/como-criar-matrizes-em-r/">Como criar matrizes em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Como criar matrizes em R</h2>
<p>Na lição anterior definimos o que é uma matriz em R, quais suas aplicações e como endereçar seus elementos. Agora iremos mostrar como é possível criar matrizes utilizando três funções bastante comuns em linguagem R: <strong>matrix()</strong>, <strong>rbind()</strong> e <strong>cbind()</strong>.</p>
<h3>Função matrix()</h3>
<p>Toma um vetor e o transforma em matriz, dividindo os dados presentes no vetor em várias linhas da matriz.</p>
<p>Sintaxe:</p>
<pre><span style="color: #800080;">matrix(data = NA, nrow = x, ncol = y, byrow = TRUE | T | F | FALSE)</span></pre>
<p>Onde:</p>
<ul>
<li><strong>data</strong> é a fonte dos dados (por exemplo, um vetor)</li>
<li><strong>nrow</strong> é o número de linhas desejadas</li>
<li><strong>ncol</strong> é o número de colunas desejadas</li>
<li><strong>byrow</strong> indica se a matriz será preenchida por linhas ou colunas. O padrão é F ou FALSE (por colunas).</li>
</ul>
<h3>Função rbind()</h3>
<p>Conecta vetores formando linhas de uma matriz com cada vetor (r = row)</p>
<p><strong>Sintaxe:</strong></p>
<pre><span style="color: #800080;">rbind(vetor1, vetor2, ..., vetorN)</span></pre>
<h3>Função cbind()</h3>
<p>Conecta vetores formando colunas de uma matriz com cada vetor (c = column)</p>
<p><strong>Sintaxe:</strong></p>
<pre><span style="color: #800080;">cbind(vetor1, vetor2, ..., vetorN)</span></pre>
<h3>Exemplos</h3>
<h4>1 &#8211; Criar um vetor com a função <strong>matrix()</strong></h4>
<p>Iniciamos criando um vetor com, digamos, 20 posições preenchidas com números:</p>
<pre>&gt; vetor &lt;- 1:20</pre>
<p>Agora vamos transformar esse vetor em uma matriz A 4&#215;5 (quatro linhas por cinco colunas) da seguinte forma:</p>
<pre>&gt; A &lt;- matrix(vetor, 4, 5)</pre>
<p>E então verificamos o conteúdo da matriz criada:</p>
<pre>&gt; A</pre>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-14376 size-full" title="Criar matriz em linguagem R" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/criar-matriz-linguagem-R.jpg" alt="Criar matriz em linguagem R" width="437" height="176" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/criar-matriz-linguagem-R.jpg 437w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/criar-matriz-linguagem-R-420x169.jpg 420w" sizes="auto, (max-width: 437px) 100vw, 437px" /></p>
<p>Note os índices indicados para as linhas e colunas da matriz criada.</p>
<p>É importante que o produto do número de linhas pelo número de colunas seja igual ao número total de itens do vetor, para que a matriz possa ser corretamente criada e preenchida. Em nosso caso, 4 linhas x 5 colunas = 20 itens, que é o tamanho do vetor.</p>
<p>E como acessamos o valor armazenado em uma posição da matriz? É simples: basta usar o nome da matriz, seguida de colchetes contendo o número da linha e da coluna separados por vírgulas, nessa ordem. Por exemplo, vamos acessar o elemento que está na linha 3, coluna 4 (número 15):</p>
<pre>&gt; A[3,4]
<span style="color: #ff9900;">[1] 15</span></pre>
<h4>2 &#8211; Vamos agora criar uma matriz usando a função <strong>rbind()</strong></h4>
<p>Começamos criando, por exemplo, três vetores de caracteres, como segue:</p>
<pre>&gt; v1 &lt;- c("SP","RJ","MG")
&gt; v2 &lt;- c("RN","MT","AM")
&gt; v3 &lt;- c("PE","RS","SC")</pre>
<p>E então criamos uma matriz B unindo os três vetores criados coma função <strong>rbind()</strong>:</p>
<pre>&gt; B &lt;- rbind(v1, v2, v3)</pre>
<p>E então verificamos o conteúdo da matriz:</p>
<pre>&gt; B</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-14379" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/criar-matriz-rbind-linguagem-R.jpg" alt="Criando uma matriz com rbind() em linguagem R" width="279" height="115"></p>
<p>Note que são mostrados os nomes dos vetores v1, v2 e v3 nas linhas do vetor criado. Porém, para acessar uma de suas posições, basta referenciá-las normalmente pelos números de linha e coluna, como por exemplo:</p>
<pre>&gt; B[3,3]
<span style="color: #ff9900;">     v3</span>
<span style="color: #ff9900;">[1] "SC"</span></pre>
<p>Também podemos acessar o elemento fornecendo o nome do vetor que originou a linha, em vez do número da linha em si:</p>
<pre>&gt; B["v3",3]
<span style="color: #ff9900;">      v3</span>
<span style="color: #ff9900;">[1] "SC"</span></pre>
<h4>3 &#8211; E por fim vamos criar uma matriz usando a função <strong>cbind()</strong>.</h4>
<p>Primeiramente vamos criar três vetores numéricos, com 6 elementos em cada, como segue:</p>
<pre>&gt; n1 &lt;- 1:6
&gt; n2 &lt;- 12:17
&gt; n3 &lt;- 24:29</pre>
<p>E então criamos a matriz C unindo os três vetores criados com a função cbind():</p>
<pre>&gt; C &lt;- cbind(n1, n2, n3)</pre>
<p>Finalmente, verificamos o conteúdo da matriz:</p>
<p>C</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-14381" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/criar-matriz-cbind-linguagem-R.jpg" alt="Criar uma matriz com a função cbind() em R" width="226" height="232"></p>
<p>Note que os elementos são arranjados em colunas, em vez de linhas, como ocorreu com a função rbind(). E perceba também que, em vez de serem mostrados os números de índice das colunas, são mostrados os nomes dos vetores empregados. Porém, o processo de acesso aos elementos da matriz é o mesmo: basta indicar entre os colchetes os números da linha e da coluna desejados:</p>
<pre>C[4,3]
<span style="color: #ff9900;">n3</span>
<span style="color: #ff9900;">[1] 27</span></pre>
<p>Ou ainda usar o nome da coluna:</p>
<pre>C[4,"n3"]
<span style="color: #ff9900;">n3</span>
<span style="color: #ff9900;">27</span></pre>
<p>É isso aí! Na próxima lição vamos nos aprofundar na manipulação dos elementos de uma matriz, incluindo a atribuição, leitura e alteração dos elementos.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/como-criar-matrizes-em-r/">Como criar matrizes em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/programacao-em-r/como-criar-matrizes-em-r/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Matrizes em R</title>
		<link>https://www.bosontreinamentos.com.br/programacao-em-r/matrizes-em-r/</link>
					<comments>https://www.bosontreinamentos.com.br/programacao-em-r/matrizes-em-r/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Wed, 20 Feb 2019 17:25:45 +0000</pubDate>
				<category><![CDATA[Programação em R]]></category>
		<category><![CDATA[Análise de Dados]]></category>
		<category><![CDATA[Linguagem R]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=14367</guid>

					<description><![CDATA[<p>Matrizes em R Damos o nome de matriz a um vetor bidimensional, composto por linhas e colunas, como uma espécie de tabela.&#160;Na verdade, podemos considerar uma matriz como um conjunto de vetores interligados. As matrizes encontram inúmeras aplicações em computação, principalmente relacionadas às áreas de física, engenharia e análise de dados, que possuem fórmulas que dependem de quantidades multidimensionais e conjuntos de dados de múltiplas dimensões. Um exemplo bem simples de aplicação de matrizes é a construção de jogos de computadores e em computação gráfica, para realizar transformações 2D e 3D, entre inúmeras outras. Assim como acontece com os vetores em R, somente é possível armazenar dados de um mesmo tipo nas posições de uma matriz. Assim, teremos matrizes de inteiros, ou de caracteres, ou de valores lógicos, mas não matrizes que misturem valores inteiros com caracteres, por exemplo. Além disso, os números de índice tanto das colunas quanto das linhas se inicia em 1, em vez de 0, com acontece em muitas linguagens de programação. Cuidado com esse detalhe! Abaixo temos um exemplo de uma matriz A com 4 linhas e 4 colunas: E, logo a seguir, temos a mesma matriz A com alguns dados inseridos em posições diversas: [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/matrizes-em-r/">Matrizes em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Matrizes em R</h2>
<p>Damos o nome de matriz a um vetor bidimensional, composto por linhas e colunas, como uma espécie de tabela.&nbsp;Na verdade, podemos considerar uma matriz como um conjunto de vetores interligados.</p>
<p>As matrizes encontram inúmeras aplicações em computação, principalmente relacionadas às áreas de física, engenharia e análise de dados, que possuem fórmulas que dependem de quantidades multidimensionais e conjuntos de dados de múltiplas dimensões. Um exemplo bem simples de aplicação de matrizes é a construção de jogos de computadores e em computação gráfica, para realizar transformações 2D e 3D, entre inúmeras outras.</p>
<p>Assim como acontece com os vetores em R, somente é possível armazenar dados de um mesmo tipo nas posições de uma matriz. Assim, teremos matrizes de inteiros, ou de caracteres, ou de valores lógicos, mas não matrizes que misturem valores inteiros com caracteres, por exemplo. Além disso, os números de índice tanto das colunas quanto das linhas se inicia em <strong>1</strong>, em vez de 0, com acontece em muitas linguagens de programação. Cuidado com esse detalhe!</p>
<p>Abaixo temos um exemplo de uma matriz A com 4 linhas e 4 colunas:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-14370" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/matriz-linguagem-R-dados.jpg" alt="Matriz em linguagem R" width="609" height="344" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/matriz-linguagem-R-dados.jpg 609w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/matriz-linguagem-R-dados-420x237.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/matriz-linguagem-R-dados-174x98.jpg 174w" sizes="auto, (max-width: 609px) 100vw, 609px" /></p>
<p>E, logo a seguir, temos a mesma matriz A com alguns dados inseridos em posições diversas:</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-14371" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/matriz-dados-linguagem-R-preenchida.jpg" alt="Matriz com dados em linguagem R" width="611" height="352" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/matriz-dados-linguagem-R-preenchida.jpg 611w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/matriz-dados-linguagem-R-preenchida-420x242.jpg 420w" sizes="auto, (max-width: 611px) 100vw, 611px" /></p>
<h3>Indexando os elementos de uma matriz</h3>
<p>Para referenciar um elemento dentro de uma matriz, usamos um par de valores de índice, que representam a linha onde o valor se encontra e a coluna, respectivamente. Esses valores são números separados por uma vírgula, e posicionados dentro de colchetes (lembre-se, a posição em um vetor também é representada por um número dentro de colchetes), seguindo o nome da matriz (em nosso exemplo, matriz A). Ou seja:</p>
<pre><strong>NomeMatriz[Linha, Coluna]</strong></pre>
<p>Desta forma, na matriz mostrada anteriormente temos os valores armazenados nas seguintes posições:</p>
<p>Valor 22: posição <strong>A[1,1]</strong><br />
Valor 32: posição <strong>A[2,3]</strong><br />
Valor 15: posição <strong>A[2,2]</strong><br />
Valor 96: posição <strong>A[4,3]</strong></p>
<p>Em R, podemos fazer referência a todos os elementos de uma linha em particular indicando dentro dos colchetes o números dessa linha, seguido por uma vírgula, e sem indicar o número da coluna. Assim, podemos referenciar, por exemplo, a coluna 3 de nossa matriz da seguinte forma:</p>
<pre>&gt; A[3,]</pre>
<p>Isso permite selecionar todos os dados da linha 3 da matriz. E, de mesma forma, também é possível referenciar todos os valores de uma dada coluna escrevendo dentro dos colchetes uma vírgula, seguida do número da coluna &#8211; por exemplo, a coluna 2:</p>
<pre>&gt; A[,2]</pre>
<p>Assim, teremos todos os dados presentes na coluna 2 da matriz A.</p>
<p>Na próxima lição vamos explorar as possibilidades existentes para a criação de matrizes em R.</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/matrizes-em-r/">Matrizes em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/programacao-em-r/matrizes-em-r/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Trabalhando com vetores nomeados em R</title>
		<link>https://www.bosontreinamentos.com.br/programacao-em-r/trabalhando-com-vetores-nomeados-em-r/</link>
					<comments>https://www.bosontreinamentos.com.br/programacao-em-r/trabalhando-com-vetores-nomeados-em-r/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Tue, 19 Feb 2019 22:56:32 +0000</pubDate>
				<category><![CDATA[Programação em R]]></category>
		<category><![CDATA[Análise de Dados]]></category>
		<category><![CDATA[Linguagem R]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=14347</guid>

					<description><![CDATA[<p>Vetores nomeados em R Já sabemos que os vetores possuem um número de índice que identifica cada valor armazenado em suas posições. Assim, para acessar um elemento qualquer, usamos esse número de índice &#8211; por exemplo, para acessar o quarto elemento de um vetor usamos o índice [4]. Porém, em R também é possível atribuir nomes às posições de índice em um vetor, de modo a ser possível acessar esses elementos por meio deste nome escolhido, em vez de utilizar apenas o seu valor numérico. Usar um nome de identificação possui inúmeras utilidades em R, como por exemplo, criar tabelas de lookup. Um exemplo de vetor nomeado é um dataset (conjunto de dados) interno de nome&#160;islands, disponível pronto para uso no R, cuja estrutura pode ser analisada usando-se a função str(): &#62; str(islands) Named num [1:48] 11506 5500 16988 2968 16 ... - attr(*, "names") = chr [1:48]&#160;"Africa" "Antarctica" "Asia" "Australia" ... Esse vetor armazena a área da superfície das 48 maiores massas de terra do mundo, incluindo continentes e grandes ilhas. Veja que foi retornada a informação de que se trata de um vetor com 48 elementos, com os valores dos primeiros elementos mostrados. Na segunda linha, é mostrado [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/trabalhando-com-vetores-nomeados-em-r/">Trabalhando com vetores nomeados em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Vetores nomeados em R</h2>
<p>Já sabemos que os vetores possuem um número de índice que identifica cada valor armazenado em suas posições. Assim, para acessar um elemento qualquer, usamos esse número de índice &#8211; por exemplo, para acessar o quarto elemento de um vetor usamos o índice [4].</p>
<p>Porém, em R também é possível atribuir nomes às posições de índice em um vetor, de modo a ser possível acessar esses elementos por meio deste nome escolhido, em vez de utilizar apenas o seu valor numérico. Usar um nome de identificação possui inúmeras utilidades em R, como por exemplo, criar tabelas de lookup.</p>
<p>Um exemplo de vetor nomeado é um dataset (conjunto de dados) interno de nome&nbsp;<em><strong>islands</strong></em>, disponível pronto para uso no R, cuja estrutura pode ser analisada usando-se a função <strong>str()</strong>:</p>
<pre>&gt; str(islands)
<span style="color: #ff9900;">Named num [1:48] 11506 5500 16988 2968 16 ...</span>
<span style="color: #ff9900;">- attr(*, "names") = chr [1:48]&nbsp;"Africa" "Antarctica" "Asia" "Australia" ...</span></pre>
<p>Esse vetor armazena a área da superfície das 48 maiores massas de terra do mundo, incluindo continentes e grandes ilhas. Veja que foi retornada a informação de que se trata de um vetor com 48 elementos, com os valores dos primeiros elementos mostrados.<br />
Na segunda linha, é mostrado que esse vetor possui um atributo que contém a palavra &#8220;<strong>names</strong>&#8220;, e os primeiros elementos desse atributo são &#8220;Africa&#8221;, &#8220;Antarctica&#8221;, &#8220;Asia&#8221; e &#8220;Australia&#8221;. Esses são os nomes de cada posição do vetor, e cada posição também possui o valor armazenado e associado a esses nomes.</p>
<p>Desta forma, podemos acessar os elementos do vetor por nome. Por exemplo, para verificarmos os valores atribuídos às posições &#8220;Antarctica&#8221; e &#8220;Australia&#8221;, podemos fazer o seguinte:</p>
<pre>&gt; islands[c("Antarctica", "Australia")]
<span style="color: #ff9900;">Antarctica Australia</span>
<span style="color: #ff9900;">      5500      2968</span></pre>
<p>Para saber quais são os nomes existentes em um vetor nomeado empregados a função <strong>names()</strong>:</p>
<pre>&gt; names(islands)
<span style="color: #ff9900;">[1] "Africa" "Antactica" "Asia" ...</span>
<span style="color: #ff9900;">[6] "Baffin" "Banks" "Borneo" ...</span></pre>
<p>(saída truncada)</p>
<h3>Como criar um vetor nomeado em R</h3>
<p>Criamos um vetor nomeado atribuindo valores a um vetor comum, e então empregado a função <strong>names()</strong> para associar os nomes às posições de índice do vetor criado. Vejamos alguns exemplos:</p>
<p>1 &#8211; Vamos criar um vetor chamado aulas.materia, no qual iremos armazenar o número de aulas existentes em quatro matérias distintas:</p>
<pre>&gt; aulas.materia &lt;- c(8, 10, 8, 12)</pre>
<p>Mas de quais matérias são essas quantidades de aulas? Vamos agora associar os nomes das matérias ao vetor, usando-os como nomes das posições de índice:</p>
<pre>&gt; names(aulas.materia) &lt;- c("Física", "Português", "História", "Matemática")</pre>
<p>Note que passamos um vetor com os nomes das matérias para ser utilizado como nomes das posições. Podemos então verificar o conteúdo do vetor nomeado criado:</p>
<pre>&gt; aulas.materia
<span style="color: #ff9900;">Física Português História Matemática</span>
<span style="color: #ff9900;">     8        10        8         12</span></pre>
<p>2 &#8211; Queremos criar um vetor que contenha os nomes dos meses do ano, e os dias que cada mês possui. Para isso, começamos criando um vetor com a quantidade de dias de cada mês, em ordem:</p>
<pre>&gt; dias.mês &lt;- c(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)</pre>
<p>Logo após, vamos atribuir os nomes de índice, que são os nomes dos meses. Podemos criar um vetor contendo esses nomes, com fizemos no exemplo anterior; em inglês é possível utilizar o dataset interno chamado de &#8220;month.name&#8221;:</p>
<pre>&gt; names(dias.mês) &lt;- month.name</pre>
<p>Com o vetor criado, podemos consultar a quantidade de dias em um mês qualquer, por exemplo, em maio (&#8220;May&#8221;):</p>
<pre>&gt; dias.mês["May"]
<span style="color: #ff9900;">May</span>
<span style="color: #ff9900;">31</span></pre>
<p>O mesmo resultado será obtido se passarmos o número de índice da posição (5) em vez no nome atribuído. Para visualizar todos os meses com seus respectivos números de dias fazemos simplesmente:</p>
<pre>&gt; dias.mês[month.name]<img loading="lazy" decoding="async" class="aligncenter size-full wp-image-14350" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/vetor-nomeado-linguagem-R.jpg" alt="Criar vetor nomeado em linguagem R" width="582" height="199" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/vetor-nomeado-linguagem-R.jpg 582w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/vetor-nomeado-linguagem-R-420x144.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/vetor-nomeado-linguagem-R-580x199.jpg 580w" sizes="auto, (max-width: 582px) 100vw, 582px" /></pre>
<p>Podemos também buscar itens neste vetor por meio dos valores armazenados, em vez de usar os índices ou nomes. Por exemplo, para saber quantos meses possuem no máximo 30 dias podemos executar:</p>
<pre>&gt; names(dias.mês[dias.mês == 30])
<span style="color: #ff9900;">[1] "April" "June" "September"</span>
<span style="color: #ff9900;">[4] "November"</span></pre>
<p>Neste exemplo verificamos os valores armazenados no vetor <strong>dias.mês</strong> comparando seus valores (e não os nomes de índice) com o valor 30, utilizando um operador de comparação de igualdade ==.</p>
<p>Nas próximas lições vamos falar sobre vetores compostos &#8211; mais precisamente, sobre matrizes em R.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/trabalhando-com-vetores-nomeados-em-r/">Trabalhando com vetores nomeados em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/programacao-em-r/trabalhando-com-vetores-nomeados-em-r/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Linguagem R &#8211; Funções aritméticas em vetores</title>
		<link>https://www.bosontreinamentos.com.br/programacao-em-r/linguagem-r-funcoes-aritmeticas-em-vetores/</link>
					<comments>https://www.bosontreinamentos.com.br/programacao-em-r/linguagem-r-funcoes-aritmeticas-em-vetores/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 18 Feb 2019 22:16:07 +0000</pubDate>
				<category><![CDATA[Programação em R]]></category>
		<category><![CDATA[Análise de Dados]]></category>
		<category><![CDATA[Linguagem R]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=14343</guid>

					<description><![CDATA[<p>Funções aritméticas em vetores em R Em R, além das operações aritméticas básicas, também existem diversas funções que podem ser aplicadas diretamente a vetores, para realizar as mais variadas tarefas em conjuntos de dados simultaneamente. Um dos grupos de funções mais importantes são as funções de soma, produto e cumulativas. Nesta lição vamos explorar algumas das principais funções aritméticas que podemos aplicar a vetores em linguagem R. A tabela a seguir mostra algumas funções aritméticas cujo resultado depende da combinação dos valores presentes em um vetor: Função Descrição sum(x) Calcula o somatório dos valores presentes no vetor x. prod(x) Calcula o produto dos valores presentes no vetor x. min(x) Retorna o menor valor presente no vetor x. max(x) Retorna o maior valor presente em x. cumsum(x) Retorna a soma cumulativa dos valores de x. cumprod(x) Retorna o produto cumulativo dos valores de x. cummin(x) Retorna o menor valor em x a partir do início do vetor até a posição do próprio valor. Mínimo cumulativo. cummax(x) Retorna o maior valor em x a partir do início do vetor até a posição do próprio valor. Máximo cumulativo. diff(x) Retorna, para cada valor presente no vetor x, a diferença entre esse valor e [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/linguagem-r-funcoes-aritmeticas-em-vetores/">Linguagem R &#8211; Funções aritméticas em vetores</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Funções aritméticas em vetores em R</h2>
<p>Em R, além das <a href="http://www.bosontreinamentos.com.br/programacao-em-r/aritmetica-simples-com-vetores-em-r/" target="_blank" rel="noopener">operações aritméticas básicas</a>, também existem diversas funções que podem ser aplicadas diretamente a vetores, para realizar as mais variadas tarefas em conjuntos de dados simultaneamente. Um dos grupos de funções mais importantes são as funções de soma, produto e cumulativas. Nesta lição vamos explorar algumas das principais funções aritméticas que podemos aplicar a vetores em linguagem R.</p>
<p>A tabela a seguir mostra algumas funções aritméticas cujo resultado depende da combinação dos valores presentes em um vetor:</p>
<table style="border-collapse: collapse; width: 86.0581%; height: 53px;" border="1">
<thead>
<tr>
<td style="width: 15.8375%; text-align: center;"><strong>Função</strong></td>
<td style="width: 84.1625%; text-align: center;"><strong>Descrição</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td style="width: 15.8375%;">sum(x)</td>
<td style="width: 84.1625%;">Calcula o somatório dos valores presentes no vetor x.</td>
</tr>
<tr>
<td style="width: 15.8375%;">prod(x)</td>
<td style="width: 84.1625%;">Calcula o produto dos valores presentes no vetor x.</td>
</tr>
<tr>
<td style="width: 15.8375%;">min(x)</td>
<td style="width: 84.1625%;">Retorna o menor valor presente no vetor x.</td>
</tr>
<tr>
<td style="width: 15.8375%;">max(x)</td>
<td style="width: 84.1625%;">Retorna o maior valor presente em x.</td>
</tr>
<tr>
<td style="width: 15.8375%;">cumsum(x)</td>
<td style="width: 84.1625%;">Retorna a soma cumulativa dos valores de x.</td>
</tr>
<tr>
<td style="width: 15.8375%;">cumprod(x)</td>
<td style="width: 84.1625%;">Retorna o produto cumulativo dos valores de x.</td>
</tr>
<tr>
<td style="width: 15.8375%;">cummin(x)</td>
<td style="width: 84.1625%;">Retorna o menor valor em x a partir do início do vetor até a posição do próprio valor. Mínimo cumulativo.</td>
</tr>
<tr>
<td style="width: 15.8375%;">cummax(x)</td>
<td style="width: 84.1625%;">Retorna o maior valor em x a partir do início do vetor até a posição do próprio valor. Máximo cumulativo.</td>
</tr>
<tr>
<td style="width: 15.8375%;">diff(x)</td>
<td style="width: 84.1625%;">Retorna, para cada valor presente no vetor x, a diferença entre esse valor e o próximo valor no vetor (próximo &#8211; atual)</td>
</tr>
</tbody>
</table>
<p>Vejamos exemplos de aplicação dessas funções em vetores. Para isso, empregaremos um vetor x de 15 números, criado conforme a instrução a seguir:</p>
<pre>x &lt;- c(13, 24, 2, 45, 34, 33, 10, 8, 32, 39, 16, 19, 9, 25, 42)</pre>
<h3>Exemplos</h3>
<p>1 &#8211; Queremos saber o valor dos somatórios dos 15 itens no vetor x:</p>
<pre>&gt; res &lt;- sum(x)
&gt; print(res)
<span style="color: #ff9900;">[1] 351</span></pre>
<p>2 &#8211; Queremos descobrir quais são o maior e o menor valores presentes no vetor:</p>
<pre>&gt; min(x)
<span style="color: #ff9900;">[1] 2</span>
&gt; max(x)
<span style="color: #ff9900;">[1] 45</span></pre>
<p>3 &#8211; Suponha que tenhamos um outro vetor, y, com os valores a seguir:</p>
<pre>y &lt;- c(4, 7, 9, 12, 11)</pre>
<p>Podemos calcular o somatório combinado de ambos os vetores, x e y, usando a mesma função sum(), pois essa função aceita múltiplos vetores como entrada, bastando para isso separá-los por vírgulas:</p>
<pre>res &lt;- sum(x, y)
print(res)
<span style="color: #ff9900;">[1] 394</span></pre>
<p>4 &#8211; Vamos retornar a soma cumulativa dos valores em y &#8211; ou seja, o resultado de cada soma parcial realizada:</p>
<pre>res &lt;- cumsum(y)
print(res)
<span style="color: #ff9900;">[1] 4 11 20 32 43</span></pre>
<p>5 &#8211; Retornar o maior valor cumulativo no vetor x:</p>
<pre>res &lt;- cummax(x)
print(res)
<span style="color: #ff9900;">[1] 13 24 24 45&nbsp;45&nbsp;45&nbsp;45&nbsp;45&nbsp;45&nbsp;45&nbsp;45&nbsp;45&nbsp;45&nbsp;45&nbsp;45&nbsp;</span></pre>
<p>6 &#8211; Podemos também retornar as diferenças entre cada valor em u vetor, como por exemplo, no vetor y:</p>
<pre>res &lt;- diff(y)
print(res)
<span style="color: #ff9900;">[1] 3 2 3 -1</span></pre>
<p>Neste exemplo, foram retornados quatro números:</p>
<ul>
<li>3 é a diferença entre o primeiro e o segundo valores do vetor: 7 -4&nbsp;</li>
<li>2 é a diferença entre o segundo e o terceiro valores do vetor: 9 &#8211; 7</li>
<li>3&nbsp;é a diferença entre o terceiro e o quarto valores do vetor: 12 &#8211; 9&nbsp;</li>
<li>-1&nbsp;é a diferença entre o quarto e o quinto valores do vetor: 11 &#8211; 12&nbsp;</li>
</ul>
<p>7 &#8211; Também podemos aplicar essas funções a partes de um vetor. Por exemplo, suponha que se deseje saber o somatório apenas dos cinco primeiros valores do vetor x. Para tal, basta indicar entre colchetes as posições desejadas na soma:</p>
<pre>sum(x[1:5])
<span style="color: #ff9900;">[1] 118</span></pre>
<p>8 &#8211; E se quisermos saber qual o valor da soma do elementos&nbsp; de número 1, 2&nbsp; e 4 do vetor x? Simples &#8211; basta criar um vetor com os números de índice desejados, usando a função <em>combine</em>,&nbsp; e utilizá-lo na soma:</p>
<pre>sum(x[c(1, 2, 4)])
<span style="color: #ff9900;">[1] 82</span></pre>
<p>É isso aí! Há muitas outras funções matemáticas que podem ser aplicadas a vetores em R. Vamos estudá-las nas próximas lições.</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/linguagem-r-funcoes-aritmeticas-em-vetores/">Linguagem R &#8211; Funções aritméticas em vetores</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/programacao-em-r/linguagem-r-funcoes-aritmeticas-em-vetores/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Aritmética simples com vetores em R</title>
		<link>https://www.bosontreinamentos.com.br/programacao-em-r/aritmetica-simples-com-vetores-em-r/</link>
					<comments>https://www.bosontreinamentos.com.br/programacao-em-r/aritmetica-simples-com-vetores-em-r/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 18 Feb 2019 22:09:01 +0000</pubDate>
				<category><![CDATA[Programação em R]]></category>
		<category><![CDATA[Análise de Dados]]></category>
		<category><![CDATA[Linguagem R]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=14354</guid>

					<description><![CDATA[<p>Aritmética simples com vetores Podemos efetuar operações aritméticas simples com vetores em R de forma rápida e muito fácil. Vamos criar os vetores a e b, numéricos, com os valores a seguir: &#62; a &#60;- c(3, 6, 9, 12) &#62; b &#60;- c(2, 4, 6, 8) Suponha que seja precisemos adicionar os valores desses dois vetores, em forma ordenada &#8211; primeiro valor de a somado com o primeiro valor de b, e assim sucessivamente até o ultimo valor. Como fazemos isso em R? Simples &#8211; somamos os vetores diretamente: &#62; a + b [1] 5 10 15 20 Simples não? Em outras linguagens de programação seria necessário criar um loop, usando alguma estrutura de repetição, e inserir a operação aritmética dentro desse loop, retornando cada valor calculado. Em R basta somar os dois vetores, e todo o cálculo é feito automaticamente. Aplicamos essa mesma técnica para realizar outras operações básicas, como a subtração (-), multiplicação (*), divisão (/) e exponenciação (^). Veja, por exemplo, o produto entre os valores dos dois vetores: &#62; a * b [1] 6 24 54 96 Ou ainda os valores do vetor a elevados aos valores do vetor b: &#62; a ^ b [1] 9&#160; [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/aritmetica-simples-com-vetores-em-r/">Aritmética simples com vetores em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Aritmética simples com vetores</h2>
<p>Podemos efetuar operações aritméticas simples com vetores em R de forma rápida e muito fácil. Vamos criar os vetores a e b, numéricos, com os valores a seguir:</p>
<pre>&gt; a &lt;- c(3, 6, 9, 12)
&gt; b &lt;- c(2, 4, 6, 8)</pre>
<p>Suponha que seja precisemos adicionar os valores desses dois vetores, em forma ordenada &#8211; primeiro valor de a somado com o primeiro valor de b, e assim sucessivamente até o ultimo valor. Como fazemos isso em R? Simples &#8211; somamos os vetores diretamente:</p>
<pre>&gt; a + b
<span style="color: #ff9900;">[1] 5 10 15 20</span></pre>
<p>Simples não? Em outras linguagens de programação seria necessário criar um loop, usando alguma estrutura de repetição, e inserir a operação aritmética dentro desse loop, retornando cada valor calculado. Em R basta somar os dois vetores, e todo o cálculo é feito automaticamente.</p>
<p>Aplicamos essa mesma técnica para realizar outras operações básicas, como a subtração (-), multiplicação (*), divisão (/) e exponenciação (^). Veja, por exemplo, o produto entre os valores dos dois vetores:</p>
<pre>&gt; a * b
<span style="color: #ff9900;">[1] 6 24 54 96</span></pre>
<p>Ou ainda os valores do vetor a elevados aos valores do vetor b:</p>
<pre>&gt; a ^ b
<span style="color: #ff9900;">[1] 9&nbsp; 1296&nbsp; 531441&nbsp; &nbsp;429981696</span></pre>
<p>Em todos esses exemplos os vetores possuíam o mesmo comprimento (4 elementos). Mas o que acontece se os vetores envolvidos em um cálculo aritmético tiverem tamanhos diferentes? Vejamos um exemplo &#8211; vamos criar o vetor f, contendo 6 elementos:</p>
<pre>&gt; f &lt;- c(1, 1, 2, 3, 5, 8)</pre>
<p>Vamos tentar somar esse vetor com o vetor b:</p>
<pre>&gt; b + f
<span style="color: #ff9900;">[1] 3 5 8 11 7 12</span>
<span style="color: #ff00ff;">Warning message:</span>
<span style="color: #ff00ff;">In b + f: longer object length is not a multiple of shorter object length.</span></pre>
<p>Todos os valores foram somados. Porém, note que os dois últimos valores obtidos, 7 e 12, corresponde à soma de 5 + 2 e 8 + 4, primeiro e segundo valores de b com os dois últimos valores de f. O que ocorreu é que, como o vetor b é menor que o vetor f, seus valores foram <em><strong>reciclados</strong></em>, ou seja, foram reutilizados quando a última posição do vetor foi utilizada no cálculo. O R nos avisou disso com a mensagem que diz que o comprimento do maior objeto (f) não é um múltiplo do comprimento do menor objeto (b).</p>
<p>A reciclagem sempre ocorre quando os vetores envolvidos não possuem o mesmo comprimento, e a mensagem de aviso aparece quando o maior vetor não tem um comprimento múltiplo do menor vetor &#8211; mas, ainda assim, os valores do menor vetor são reciclados até a posição necessária.</p>
<p>Um exemplo bem claro da reciclagem de vetores é a multiplicação de todos os valores de um vetor por um valor fixo. Suponha que os valores do vetor a precisem ser multiplicados por 5 &#8211; todos eles multiplicados por esse mesmo valor. Como procedemos? Basta multiplicar o vetor por 5:</p>
<pre>&gt; a * 5
<span style="color: #ff9900;">[1] 15 30 45 60</span></pre>
<p>Além de podermos aplicar operações aritméticas em e entre vetores, podemos também aplicar diversas funções sobre os valores de um vetor, como por exemplo calcular o somatório de seus valores, visualizar valores acumulados ou ainda a diferença entre cada valor de um vetor.</p>
<p>Veremos <a href="http://www.bosontreinamentos.com.br/programacao-em-r/linguagem-r-funcoes-aritmeticas-em-vetores/">algumas dessas funções aritméticas na próxima lição</a>.</p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/aritmetica-simples-com-vetores-em-r/">Aritmética simples com vetores em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/programacao-em-r/aritmetica-simples-com-vetores-em-r/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Como instalar e carregar pacotes em R</title>
		<link>https://www.bosontreinamentos.com.br/programacao-em-r/como-instalar-e-carregar-pacotes-em-r/</link>
					<comments>https://www.bosontreinamentos.com.br/programacao-em-r/como-instalar-e-carregar-pacotes-em-r/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Tue, 12 Feb 2019 13:13:41 +0000</pubDate>
				<category><![CDATA[Programação em R]]></category>
		<category><![CDATA[Análise de Dados]]></category>
		<category><![CDATA[Linguagem R]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=14287</guid>

					<description><![CDATA[<p>Instalar e carregar pacotes em R Uma das características mais poderosas da linguagem R é o fato de que qualquer pessoa pode criar funções e compartilhá-las com outros usuários do R, de forma organizada. Desta forma, muitas funções estão disponíveis de forma imediata, o que facilita muito o trabalho do analista de dados &#8211; desde que ele saiba como encontrar e instalar essas funções. A maioria das funções é distribuída na forma de pacotes (&#8220;packages&#8221;), que são constituídos por código em R, arquivos de ajuda, conjuntos de dados (datasets), e outros elementos importantes para o funcionamento das funções. Os pacotes são, no geral, encontrados em websites especiais denominados &#8220;repositórios&#8221;. O repositório mais importante do R é o CRAN &#8211; Comprehensive R Archive Network &#8211; acessível pelo endereço http://cran.r-project.org, e possui centenas de pacotes prontos para serem adicionados à sua instalação do R. Veremos neste tutorial como gerenciar pacotes em R utilizando comandos do terminal. Como instalar um pacote em R Para instalar um pacote em R usamos a função install.packages(). Sua sintaxe é a seguinte: &#62; install.packages(nome_pacote) Vamos instalar um pacote de exemplo, de nome &#8220;fortunes&#8221;: &#62; install.packages("fortunes") Veja a saída gerada durante a instalação do pacote: Instalação de pacotes [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/como-instalar-e-carregar-pacotes-em-r/">Como instalar e carregar pacotes em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Instalar e carregar pacotes em R</h2>
<p>Uma das características mais poderosas da linguagem R é o fato de que qualquer pessoa pode criar funções e compartilhá-las com outros usuários do R, de forma organizada.<br />
Desta forma, muitas funções estão disponíveis de forma imediata, o que facilita muito o trabalho do analista de dados &#8211; desde que ele saiba como encontrar e instalar essas funções.</p>
<p>A maioria das funções é distribuída na forma de pacotes (&#8220;packages&#8221;), que são constituídos por código em R, arquivos de ajuda, conjuntos de dados (datasets), e outros elementos importantes para o funcionamento das funções.</p>
<p>Os pacotes são, no geral, encontrados em websites especiais denominados &#8220;repositórios&#8221;. O repositório mais importante do R é o <strong>CRAN</strong> &#8211; Comprehensive R Archive Network &#8211; acessível pelo endereço <a href="http://cran.r-project.org" target="_blank" rel="noopener">http://cran.r-project.org</a>, e possui centenas de pacotes prontos para serem adicionados à sua instalação do R.</p>
<p>Veremos neste tutorial como gerenciar pacotes em R utilizando comandos do terminal.</p>
<h3>Como instalar um pacote em R</h3>
<p>Para instalar um pacote em R usamos a função <strong>install.packages()</strong>. Sua sintaxe é a seguinte:</p>
<pre><span style="color: #800080;">&gt; install.packages(nome_pacote)</span></pre>
<p>Vamos instalar um pacote de exemplo, de nome &#8220;fortunes&#8221;:</p>
<pre>&gt; install.packages("fortunes")</pre>
<p>Veja a saída gerada durante a instalação do pacote:</p>
<div id="attachment_14289" style="width: 589px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-14289" class="wp-image-14289 size-full" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/instalar-pacote-R-package.png" alt="Instalação de pacotes em linguagem R" width="579" height="353" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/instalar-pacote-R-package.png 579w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/instalar-pacote-R-package-420x256.png 420w" sizes="auto, (max-width: 579px) 100vw, 579px" /><p id="caption-attachment-14289" class="wp-caption-text">Instalação de pacotes em linguagem R</p></div>
<p>Para usar um pacote instalado, é necessário carregá-lo quando for preciso utilizá-lo. Por padrão, o R não carrega automaticamente na memória todos os pacotes que você instala, para poupar memória do sistema.</p>
<p>Veja o que ocorre ao tentarmos utilizar uma função de um pacote que não foi carregado:</p>
<pre>&gt; fortune(1)</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-14290" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/erro-usar-pacote-fortunes-R.png" alt="Erro ao usar um pacote não carregado em R" width="592" height="65" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/erro-usar-pacote-fortunes-R.png 592w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/erro-usar-pacote-fortunes-R-420x46.png 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/erro-usar-pacote-fortunes-R-580x65.png 580w" sizes="auto, (max-width: 592px) 100vw, 592px" /></p>
<p>Para carregar um pacote instalado usamos a função <strong>library()</strong>. Sua sintaxe é bem simples:</p>
<pre>&gt; library("nome_pacote")</pre>
<p>Após carregar o pacote, ele estará disponível para uso na linha de comandos e em seus scripts. Vamos carregar o pacote fortunes e tentar uma de suas funções novamente:</p>
<pre>&gt; library("fortunes")
&gt; fortune(1)</pre>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-14291" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/usar-pacote-carregado-linguagem-R.png" alt="Usando o pacote fortunes em linguagem R" width="574" height="192" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/usar-pacote-carregado-linguagem-R.png 574w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/usar-pacote-carregado-linguagem-R-420x140.png 420w" sizes="auto, (max-width: 574px) 100vw, 574px" /></p>
<h3>Descarregando um pacote</h3>
<p>Para descarregar um pacote que não esteja mais em uso, para liberar espaço em memória, usamos a função detach(), como segue:</p>
<pre>&gt; detach(package:fortunes, unload=TRUE)</pre>
<p>A partir desse momento as funções do pacote não estarão mais disponíveis para uso, porém o pacote continua instalado no sistema, e pode ser utilizado novamente a qualquer momento, bastando para isso carregá-lo novamente.</p>
<h3>Desinstalar pacotes em R</h3>
<p>Para desinstalar um pacote em R usamos a função <strong>remove.packages()</strong>. Podemos remover uma ou mais funções de uma vez, fornecendo seus nomes separados por vírgulas. Veja sua sintaxe básica:</p>
<pre><span style="color: #800080;">&gt; remove.packages("pacote_a_remover")</span></pre>
<p>Ou, para remover vários pacotes de uma vez:</p>
<pre><span style="color: #800080;">&gt; remove.packages(c("pacote1", "pacote2", "...", "pacoteN")</span></pre>
<p>Criamos um vetor contendo os nomes dos pacotes a remover, e o passamos à função como argumento.</p>
<h3>Atualizar pacotes em R</h3>
<p>Podemos atualizar os pacotes existentes em uma instalação do R usando a função <strong>update.packages()</strong>:</p>
<pre>&gt; update.packages()</pre>
<p>Podemos também visualizar uma listagem extensa de todos os pacotes do R que estão instalados em seu sistema por meio da função <strong>installed.packages()</strong>:</p>
<pre>&gt; installed.packages()</pre>
<p>A imagem a seguir mostra o início da saída deste comando (truncada, pois é muito extensa):</p>
<div id="attachment_14293" style="width: 312px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-14293" class="wp-image-14293 size-full" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/pacotes-instalados-linguagem-R-Rstudio.png" alt="Pacotes instalados em linguagem R" width="302" height="332"><p id="caption-attachment-14293" class="wp-caption-text">Pacotes instalados no R. Saída truncada.</p></div>
<p>Se você utiliza o IDE <a href="https://www.rstudio.com/" target="_blank" rel="noopener">RStudio</a>, é possível realizar essas tarefas de gerenciamento de pacotes por meio da interface gráfica, de forma simplificada. Veremos como fazer isso em outro tutorial.</p>
<p>Até!</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/como-instalar-e-carregar-pacotes-em-r/">Como instalar e carregar pacotes em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/programacao-em-r/como-instalar-e-carregar-pacotes-em-r/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Trabalhando com Vetores em R</title>
		<link>https://www.bosontreinamentos.com.br/programacao-em-r/trabalhando-com-vetores-em-r/</link>
					<comments>https://www.bosontreinamentos.com.br/programacao-em-r/trabalhando-com-vetores-em-r/?noamp=mobile#comments</comments>
		
		<dc:creator><![CDATA[Fábio dos Reis]]></dc:creator>
		<pubDate>Mon, 11 Feb 2019 23:08:41 +0000</pubDate>
				<category><![CDATA[Programação em R]]></category>
		<category><![CDATA[Análise de Dados]]></category>
		<category><![CDATA[Linguagem R]]></category>
		<category><![CDATA[Programação]]></category>
		<guid isPermaLink="false">http://www.bosontreinamentos.com.br/?p=14269</guid>

					<description><![CDATA[<p>Vetores em R Nesta lição vamos introduzir um assunto de muita importância em linguagem R: os Vetores. Os vetores são uma das características mais importantes em R, uma estrutura de dados amplamente empregada em inúmeros cenários diferentes. Bem, mas o que é exatamente um vetor? Um vetor é, basicamente, um conjunto unidimensional de valores, todos do mesmo tipo, que funciona como uma espécie de &#8220;variável multivalorada&#8221;. Em R, os vetores podem ter quantos valores (elementos) forem necessários &#8211; mesmo um único valor é um vetor contendo um elemento. A figura a seguir ilustra um vetor de nome &#8220;Vetor1&#8220;, com cinco elementos de índices de 1 a 5, preenchido com valores numéricos inteiros: Vetor de 5 posições (elementos) preenchido com valores numéricos. Como criar um vetor em R Podemos criar vetores em R de várias formas. Por exemplo, é possível criar um vetor de números inteiros simplesmente usando o operador : (&#8220;até&#8221;). Suponha que você queira criar um vetor que contenha os números de 2 a 8, e batizá-lo como &#8220;vetor&#8221;. Para isso, basta executar o comando a seguir: vetor &#60;- 2:8 Isso criará um vetor com as posições de 1 até 7 preenchidas com os valores numéricos inteiros de 2 [...]</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/trabalhando-com-vetores-em-r/">Trabalhando com Vetores em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Vetores em R</h2>
<p>Nesta lição vamos introduzir um assunto de muita importância em linguagem R: os Vetores.</p>
<p>Os vetores são uma das características mais importantes em R, uma estrutura de dados amplamente empregada em inúmeros cenários diferentes.</p>
<p>Bem, mas o que é exatamente um vetor?</p>
<p>Um vetor é, basicamente, um conjunto unidimensional de valores, todos do mesmo tipo, que funciona como uma espécie de &#8220;variável multivalorada&#8221;. Em R, os vetores podem ter quantos valores (elementos) forem necessários &#8211; mesmo um único valor é um vetor contendo um elemento.</p>
<p>A figura a seguir ilustra um vetor de nome &#8220;<strong>Vetor1</strong>&#8220;, com cinco elementos de índices de 1 a 5, preenchido com valores numéricos inteiros:</p>
<div id="attachment_14280" style="width: 710px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-14280" class="wp-image-14280" src="http://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/vetor-figura.jpg" alt="Um vetor em linguagem R" width="700" height="157" srcset="https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/vetor-figura.jpg 1016w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/vetor-figura-420x94.jpg 420w, https://www.bosontreinamentos.com.br/wp-content/uploads/2019/02/vetor-figura-768x172.jpg 768w" sizes="auto, (max-width: 700px) 100vw, 700px" /><p id="caption-attachment-14280" class="wp-caption-text">Vetor de 5 posições (elementos) preenchido com valores numéricos.</p></div>
<h3>Como criar um vetor em R</h3>
<p>Podemos criar vetores em R de várias formas. Por exemplo, é possível criar um vetor de números inteiros simplesmente usando o operador <strong>:</strong> (&#8220;até&#8221;). Suponha que você queira criar um vetor que contenha os números de 2 a 8, e batizá-lo como &#8220;vetor&#8221;. Para isso, basta executar o comando a seguir:</p>
<pre>vetor &lt;- 2:8</pre>
<p>Isso criará um vetor com as posições de 1 até 7 preenchidas com os valores numéricos inteiros de 2 até 8. Para visualizar seu conteúdo, basta usar uma função como print():</p>
<pre>print(vetor)
<span style="color: #ff9900;">[1] 2 3 4 5 6 7 8</span></pre>
<p>O número 1 entre colchetes no início da linha (<strong>[1]</strong>) indica que esta linha inicia com a exibição do elemento 1 do vetor (primeira posição).&nbsp;</p>
<p>Note que o vetor criado possui os números de 2 até 8, em intervalos de valor 1. Esse intervalo é o padrão, mas podemos especificar um intervalo diferente para os números. Para tal, fazemos uso da função <strong>seq()</strong>. Suponha um conjunto de números de 2 até 18, porém com um intervalo de valor 2 entre eles. Criamos esse vetor assim:</p>
<pre>vetor &lt;- seq(from = 2, to = 18, by = 2)
print(vetor)
<span style="color: #ff9900;">[1] 2 4 6 8 10 12 14 16 18</span></pre>
<p>A função seq() requer por padrão três parâmetros:&nbsp;</p>
<ul>
<li><strong>from</strong> = valor inicial</li>
<li><strong>to</strong> = valo final</li>
<li><strong>by</strong> = incremento</li>
</ul>
<p>Alternativamente, podemos fornecer esses parâmetros (em ordem) sem a necessidade de especificá-los por nome:</p>
<pre>vetor &lt;- seq(2,18,2)
print(vetor)
<span style="color: #ff9900;">[1] 2 4 6 8 10 12 14 16 18</span></pre>
<p>Também é possível especificar o comprimento da sequência de valores a ser criada, usando o argumento opcional length.out. Neste caso, o tamanho do intervalo entre os valores será calculado automaticamente. Por exemplo, suponha que precisamos de uma sequência que contenha 10 valores, entre os números 2 e 8:</p>
<pre>vetor &lt;- seq(from = 2, to = 8, length.out = 10)
print(vetor)
<span style="color: #ff9900;">[1] 2.00 2.66 3.33 4.00 4.66 5.33 6.00 6.66 7.33 8.00</span></pre>
<p>Note que o intervalo entre os números foi calculado automaticamente, e os 10 valores foram gerados para o vetor. Neste caso é obrigatório especificar os nomes dos parâmetros passados à função.</p>
<h3>Combinando vetores em R</h3>
<p>É possível combinar um ou mais vetores, criando assim um novo vetor em R por meio da aplicação da função <em>combine</em>, representada por <strong>c( )</strong>. Com ela, podemos combinar vetores de qualquer tamanho, seja contendo um único elemento ou contendo milhares deles.</p>
<p>Vejamos um exemplo.</p>
<pre>vetor1 &lt;- 1:5
vetor2 &lt;- 12:16
vetor3 &lt;- c(vetor1, vetor2)
print(vetor3)
<span style="color: #ff9900;">[1] 1 2 3 4 5 12 13 14 15 16</span></pre>
<p>Note que a ordem dos valores é mantida &#8211; vetor1 foi passado como parâmetro antes de vetor2 à função, e por isso seus valores são mostrados antes também.</p>
<p>Também usamos a função c() para criar vetores que contenham valores especificados, como por exemplo:</p>
<pre>vetor1 &lt;- c("Fábio", "Maria", "Ana", "Bruce")</pre>
<h3>Repetindo vetores em R</h3>
<p>Também podemos repetir os valores presentes em um vetor diversas vezes para criar um vetor de tamanho maior (ou para outro propósito qualquer), de forma simples e rápida com o emprego da função rep() &#8211; &#8220;<em>replicate</em>&#8220;. Podemos utilizar essa função de várias formas, passando alguns parâmetros modificadores a ela. Vejamos alguns exemplos:</p>
<p>1 &#8211; Repetir o vetor completo um número determinado de vezes &#8211; como por exemplo, 5 vezes:</p>
<pre>vetor1 &lt;- 1:5
rep(vetor1, times = 5)
<span style="color: #ff9900;">[1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5</span>
<span style="color: #ff9900;">[21] 1 2 3 4 5</span></pre>
<p>2 &#8211; Podemos repetir cada valor dentro do vetor com o argumento <strong>each</strong>:</p>
<pre>vetor1 &lt;- 1:5
rep(vetor1, each = 3)
<span style="color: #ff9900;">[1] 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5</span></pre>
<p>3 &#8211; Repetir cada valor um número <em>diferente</em> de vezes. Para isso, passamos um vetor como argumento de <strong><em>times</em></strong>, contendo o número de vezes que cada elemento deverá ser repetido em suas respectivas posições:</p>
<pre>vetor1 &lt;- 1:5
rep(vetor1, times = c(1,2,1,2,1))
<span style="color: #ff9900;">[1] 1&nbsp; 2 2 3&nbsp; 4 4&nbsp; 5</span></pre>
<p>Neste caso mandamos repetir o primeiro valor de vetor1 uma vez, o segundo valor duas vezes, o terceiro valor, uma vez, o quarto, duas vezes, e o quinto valor, uma vez também.</p>
<p>4 &#8211; Repetir os valores de um vetor um número determinado de vezes, de forma individual, até que um tamanho máximo seja alcançado (número de itens), mesmo que a última repetição fique incompleta:</p>
<pre>vetor1 &lt;- 1:5
rep(vetor1, length.out = 16)
<span style="color: #ff9900;">[1] 1&nbsp; 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1</span></pre>
<p>Pedimos para que a função repetisse os valores de vetor um até obtermos 16 valores &#8211; note que na última repetição, somente o valor &#8220;1&#8221; foi utilizado, pois é o 16º valor.</p>
<h3>Testando o tipo de um vetor</h3>
<p>Podemos empregar diversas funções para verificar o tipo de dado armazenado em um vetor. São elas:</p>
<ul>
<li><strong>is.numeric</strong> &#8211; Verifica se um vetor é de algum tipo numérico</li>
<li><strong>is.integer</strong> &#8211; Verifica se o vetor é do tipo numérico inteiro</li>
<li><strong>is.double</strong> &#8211; Verifica se o vetor é do tipo double</li>
<li><strong>is.complex</strong> &#8211; Verifica se o vetor é do tipo número complexo</li>
<li><strong>is.character</strong> &#8211; Verifica se o vetor é do tipo string de caracteres</li>
<li><strong>is.logical</strong>&nbsp; &#8211; Verifica se o vetor é do tipo booleano</li>
</ul>
<p>Sem nos esquecermos da função <strong>typeof()</strong>, que retorna o tipo do objeto armazenado.</p>
<p>Vejamos alguns exemplos.</p>
<pre>vetor1 &lt;- 1:10
vetor2 &lt;- c(1+2i, 2+3i, 3+5i)
vetor3 &lt;- c("Fábio", "Monica", "Ana")
is.numeric(vetor1)
<span style="color: #ff9900;">[1] TRUE</span>
is.double(vetor1)
<span style="color: #ff9900;">[1] FALSE</span>
is.character(vetor2)
<span style="color: #ff9900;">[1] FALSE</span>
is.complex(vetor2)
<span style="color: #ff9900;">[1] TRUE</span>
is.character(vetor3)
<span style="color: #ff9900;">[1] TRUE</span></pre>
<h3>Verificando as propriedades de um vetor em R</h3>
<p>Podemos verificar a estrutura de um vetor &#8211; ou seja, seu tipo e conteúdo &#8211; por meio da função str(). Vejamos a estrutura dos vetores criados na seção anterior:</p>
<pre>str(vetor1)
<span style="color: #ff9900;">int [1:10] 1 2 3 4 5 6 7 8 9 10</span>
str(vetor2)
<span style="color: #ff9900;">cplx [1:3]&nbsp;1+2i 2+3i 3+5i</span>
str(vetor3)
<span style="color: #ff9900;">chr [1:3]&nbsp;"Fábio" "Monica" "Ana"</span></pre>
<p>A primeira palavra retornada indica o tipo de dados do vetor (inteiro, complexo e caractere, em nosso exemplos). E os números dentro dos colchetes indicam as dimensões do vetor. Por exemplo, o vetor1 possui uma única dimensão, com os índices especificados pelos números 1:10.</p>
<p>Caso você queria apenas saber o tamanho de um vetor, use a função <strong>length()</strong>:</p>
<pre>length(vetor2)
<span style="color: #ff9900;">[1] 3</span></pre>
<p>Isso nos diz que o vetor2 possui o tamanho de 3 elementos.</p>
<h3>Como acessar os elementos de um vetor</h3>
<p>Para que os vetores tenham realmente utilidade é necessário que seja possível acessar seus elementos individuais, para que possam ser lidos e manipulados. A maneira mais simples de fazer isso é especificar o número da posição que queremos acessar entre colchetes. Veja um exemplo:</p>
<pre>vetor &lt;- c("Fábio", "Monica", "Ana", "Pedro")
print(vetor[2])
<span style="color: #ff9900;">[1] "Monica"</span></pre>
<p>Neste exemplo acessamos a posição de índice 2 do vetor, que nos retornou o segundo valor armazenado &#8211; no caso a string &#8220;Monica&#8221;.</p>
<p>Podemos acessar mais de um elemento combinando seus números de índice:</p>
<pre>print(vetor[c(1,3)])
<span style="color: #ff9900;">[1] "Fábio" "Ana"</span></pre>
<p>Retornar todos os elementos exceto alguns determinados:</p>
<pre>print(vetor[c(-1, -4)])
<span style="color: #ff9900;">[1] "Monica" "Ana"</span></pre>
<p>Ou ainda retornar apenas um grupo sequencial de elementos, como por exemplo os três primeiros:</p>
<pre>print(vetor[1:3))
<span style="color: #ff9900;">[1] "Fábio" "Monica" "Ana"</span></pre>
<h3>Alterando o conteúdo de um vetor</h3>
<p>Podemos alterar os valores dos elementos de um vetor empregando também os colchetes e números de índice. Veja um exemplo:</p>
<pre>vetor &lt;- c("Fábio", "Monica", "Ana", "Pedro")
print(vetor[2])
<span style="color: #ff9900;">[1] "Monica"</span>
vetor[2] &lt;- "Sofia"
vetor[2]
<span style="color: #ff9900;">[1] "Sofia"</span></pre>
<p>Neste exemplo nós alteramos o elemento da segunda posição do vetor de &#8220;Monica&#8221; para &#8220;Sofia&#8221;.</p>
<p>Podemos esvaziar um vetor atribuindo a ele o valor NULL:</p>
<pre>vetor &lt;- NULL
vetor
<span style="color: #ff9900;">NULL</span></pre>
<p>Note que o vetor continua existindo, apesar de não possuir nenhum elemento. Caso seja necessário destrui-lo em definitivo, desalocando o vetor da memória, use a função <strong>rm()</strong>:</p>
<pre>rm(vetor)
vetor
<span style="color: #ff00ff;">Error: object 'vetor' not found</span></pre>
<h3>Aritmética com Vetores</h3>
<p>É possível realizar operações aritméticas com os valores contidos em um vetor. Essas operações são efetuadas membro a membro, ou seja, em um elemento por vez.</p>
<p>Vejamos um exemplo. Suponha um vetor de 5 números, de 1 a 5. Queremos multiplicar todos os seus elementos por 2:</p>
<pre>vetor &lt;- 1:5
vetor * 2
<span style="color: #ff9900;">[1] 2 4 6 8 10</span></pre>
<p>Outro exemplo. Suponha que também temos um outro vetor, vetor2, com os números de 20 a 24, e queremos adicionar o dois vetores:</p>
<pre>vetor &lt;- 1:5
vetor2 &lt;- 20:24
vetor + vetor2
<span style="color: #ff9900;">[1] 21 23 25 27 29</span></pre>
<p>Veja que o primeiro elemento de vetor foi adicionado ao primeiro elemento de vetor2, e assim por diante.</p>
<p>O mesmo ocorrerá com as outras operações básicas &#8211; multiplicação, subtração e divisão.</p>
<h4>Reciclagem</h4>
<p>Se, ao efetuarmos uma operação aritmética entre dois vetores, um deles tiver tamanho diferente &#8211; ou seja, of menor &#8211; seus valores serão reciclados (repetidos) durante as operações. Veja o exemplo:</p>
<pre>vetor &lt;- 1:5
vetor2 &lt;- 6:8
vetor * vetor2
<span style="color: #ff9900;">[1] 6 14 24 24 35</span>
<span style="color: #ff00ff;">Warning message:</span>
<span style="color: #ff00ff;">In vetor * vetor2 :</span>
<span style="color: #ff00ff;">longer object length is not a multiple of shorter object length</span></pre>
<p>Note que foi emitida uma mensagem de aviso, dizendo que o comprimento do vetor maior não é um múltiplo do menor. Os valores obtidos são interpretados assim:</p>
<p>1 x 6 = <strong>6</strong><br />
2 x 7 = <strong>14</strong><br />
3 x 8 = <strong>24</strong><br />
4 x 6 = <strong>24</strong> <em>// Aqui começa a reciclagem de valores do vetor2.</em><br />
5 x 7 = <strong>35</strong></p>
<p>&nbsp;</p>
<p>O post <a href="https://www.bosontreinamentos.com.br/programacao-em-r/trabalhando-com-vetores-em-r/">Trabalhando com Vetores em R</a> apareceu primeiro em <a href="https://www.bosontreinamentos.com.br">Bóson Treinamentos em Ciência e Tecnologia</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bosontreinamentos.com.br/programacao-em-r/trabalhando-com-vetores-em-r/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
