1.8 Somatório

O somatório de \(n\) números \(x_1, x_2, ..., x_n\) é representado por \(\sum_{i=1}^n {x_i} = x_1 + x_2 + \dotsb + x_n\), e lê-se ‘somatório de xis \(i\) de um até ene’.

Exemplo 1.13 (Número de passos) Suponha que foi observada a variável \(X\): ‘número de passos até a lixeira mais próxima’ na cidade de Porto Alegre em \(n = 6\) ocasiões, conforme Tabela a seguir.

\(x_{1}\) \(x_{2}\) \(x_{3}\) \(x_{4}\) \(x_{5}\) \(x_{6}\)
186 402 191 20 7 124

Esta tabela indica que na primeira ocasião foram caminhados 186 passos até localizar uma lixeira (representado por \(x_1=186\)), na segunda foram 402 passos (representado por \(x_2=402\)), e assim sucessivamente. Para calcular o total de passos caminhados, pode-se fazer \[\begin{equation} \sum_{i=1}^6 {x_i} = x_1 + x_2 + \dotsb + x_6 = 186+402+191+20+7+124 = 930 \tag{1.1} \end{equation}\]

186+402+191+20+7+124            # R e RStudio são calculadoras
## [1] 930
x <- c(186,402,191,20,7,124)    # Pode-se criar um vetor e atribuir a x
sum(x)                          # Usando a função 'sum', apresentada na Equação (1.1)
## [1] 930
sum(x^2)                        # Soma dos quadrados, representada pela Equação (1.2)
## [1] 248506

Exemplo 1.14 Em Python.

# R e RStudio são calculadoras
186 + 402 + 191 + 20 + 7 + 124  # Resultado: 930
## 930
# Pode-se criar um vetor e atribuir a x
x = [186, 402, 191, 20, 7, 124]

# Usando a função 'sum', apresentada na Equação (1.1)
sum(x)  # Resultado: 930
## 930
# Soma dos quadrados, representada pela Equação (1.2)
sum([i**2 for i in x])  # Resultado: 221570
## 248506

A letra grega \(\sum\) é o sigma maiúsculo, conforme Seção 1.10.1. Em muitos casos a simbologia de somatório é simplificada, utilizando-se \(\sum\), \(\sum_{x}\) ou \(\sum_{i}\). A seguir estão alguns exemplos mais avançados de uso mais sofisticado do somatório, podendo ser omitidos em uma primeira leitura. \[\begin{equation} \sum_{i=1}^n x_{i}^2 = x_{1}^2 + x_{2}^2 + \ldots + x_{n}^2 \tag{1.2} \end{equation}\]

Exercício 1.6 Considere o banco de dados disponível no pacote coronavirus9 conforme código a seguir.

library(coronavirus) # chamando a biblioteca 'coronavirus'
data(coronavirus)    # deixando o banco de dados disponível
dim(coronavirus)     # dimensões do banco de dados (linhas x colunas)
## [1] 973836     15
str(coronavirus)     # mostrando a estrutura do banco de dados (veja dplyr::glimpse)
## 'data.frame':    973836 obs. of  15 variables:
##  $ date          : Date, format: "2020-01-22" "2020-01-23" "2020-01-24" ...
##  $ province      : chr  "Alberta" "Alberta" "Alberta" "Alberta" ...
##  $ country       : chr  "Canada" "Canada" "Canada" "Canada" ...
##  $ lat           : num  53.9 53.9 53.9 53.9 53.9 ...
##  $ long          : num  -117 -117 -117 -117 -117 ...
##  $ type          : chr  "confirmed" "confirmed" "confirmed" "confirmed" ...
##  $ cases         : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ uid           : num  12401 12401 12401 12401 12401 ...
##  $ iso2          : chr  "CA" "CA" "CA" "CA" ...
##  $ iso3          : chr  "CAN" "CAN" "CAN" "CAN" ...
##  $ code3         : num  124 124 124 124 124 124 124 124 124 124 ...
##  $ combined_key  : chr  "Alberta, Canada" "Alberta, Canada" "Alberta, Canada" "Alberta, Canada" ...
##  $ population    : num  4413146 4413146 4413146 4413146 4413146 ...
##  $ continent_name: chr  "North America" "North America" "North America" "North America" ...
##  $ continent_code: chr  "NA" "NA" "NA" "NA" ...
  1. Obtenha a soma de casos (cases) registrados ao longo de todo o período.
  2. Obtenha a soma ao quadrado de casos registrados ao longo de todo o período.
  3. Obtenha a soma de casos registrados ao longo de todo o período dividido por tipo (type).
  4. Considerando a variável \(X\): ‘número de casos registrados’ em nrow(coronavirus) linhas do banco de dados, represente os itens a e b utilizando a notação de somatório.
  5. Obtenha o número de dias entre o primeiro registro disponível em date e a presente data utilizando o pacote lubridate.

Exemplo 1.15 Em Python.

import pandas as pd

# Como não existe um equivalente direto à biblioteca 'coronavirus' do R em Python,
# vamos assumir que você tem os dados em um arquivo CSV chamado 'coronavirus.csv'.
# Substitua 'coronavirus.csv' pelo caminho real do arquivo, se necessário.

# Carregando o conjunto de dados
coronavirus = pd.read_csv('coronavirus.csv')

# Dimensões do banco de dados (linhas x colunas)
print(coronavirus.shape)

# Mostrando a estrutura do banco de dados (similar a str() e dplyr::glimpse())
print(coronavirus.info())

  1. Johns Hopkins University Center for Systems Science and Engineering (JHU CCSE). https://systems.jhu.edu/research/public-health/ncov↩︎