Materiais de apoio

Novidades

Recursos Computacionais - Sofware R

Pacotes do R

Instalando os pacotes

  • O caractere “#” é usado para comentários nos códigos em R - qiando você coloca “#” o código não “roda”;
  • Lembre-se de tirar o “#” quando for instalar os pacotes;
  • Eu comentei com “#” pois já instalei e não quero instalar de novo!
  • tidyverse: conjunto de pacotes do R para análise de dados;
  • panelr: análise de dados em painel (pendente), com problema para os alunos instalarem, porém não tem problema pois só iremos usar mais pra frente no curso;
  • corrplot: gráficos de correlação;
  • DT: constrói tabelas;
  • kableExtra: outro pacote para construção de tabelas;
  • captioner: para numerar as tabelas ao longo do texto
#install.packages("tidyverse") 
#install.packages("panelr") 
#install.packages("corrplot") 
#install.packages("DT") 
#devtools::install_github("haozhu233/kableExtra") #constrói tabelas, instala o pacote a partir do github de um usuário

Carregando os pacotes

library(tidyverse)
library(dplyr)
library(panelr)
library(corrplot)
library(DT)
library(kableExtra)

#pacotes adicionais, se não tiver instalado, deve instalar:
library(reshape2)
library(car)
library(dummies)
library(gridExtra)
library(ggpubr) #pacote adicional de gráficos
library(rstatix) #pacote com função para identificar outliers
#estes pacotes é para numerar as tabelas
library(captioner)

Dicionário de pacotes: (para esta disciplina)

  • Do lado tireito da tela do R studio, clique em Packages - verá os pacotes que estão instalados e clique em Install para instalar um novo pacote;
  • No código do R Markdow, clique na função do R, como por exemplo “read.table”, dê dois cliques e aperte F1 - aparece do lado direito o pacote correspondente a esta função, e a explicação sobre;
  • use install.packages() ou clique em Install no menu direito do R studio - os pacotes que instalam de github estão descritos abaixo;
  • use require() ou library() para carregar os pacotes.

1 Unidade I - Conceitos Básicos de Estudos Longitudinais

1.1 O que são dados longitudinais?

Os dados longitudinais, às vezes chamados de dados de painel, rastreiam a mesma amostra em pontos diferentes no tempo. A amostra pode consistir em indivíduos, famílias, estabelecimentos e assim por diante.

1.2 Exemplos de dados longitudinais – ao longo do tempo ou de outra variável com dimensão ordenada

  • Registros da variação diária da pressão sanguínea de indivíduos normais ou hipertensos;
  • Registros das concentrações de partículas em suspensão a diferentes distâncias de uma fonte poluidora

Estudos Observacionais resultam em dados longitudinais?

  • Estudos Transversais: as medições são feitas em um único momento (foto, ou corte transversal) - em que se avaliam o(s) fatore(s) de risco e o(s) desfecho(s) simultaneamente;

  • Exemplo: Verifica-se em determinado instante as prevalências de câncer nos grupos de fumantes e de não fumantes;

    • não resultam em dados longitudinais.
  • Coorte:

    • Exemplo: Acompanha-se pacientes fumantes e pacientes não fumantes, e analisa-se o desfecho após um período de tempo;
    • sim, resultam em dados longitudinais;

Estudos Experimentais resultam em dados longitudinais?

  • Planejamento em parcelas subdivididas (split-plot) com dois fatores: os níveis do fator A são aleatorizados nas parcelas de cada bloco; em seguida os níveis do fator B são aleatorizados nas subparcelas de cada parcela;
    • as vezes, resultam em dados longitudinais - no caso em que o tempo representa o fator B;
  • Experimentos com medidas repetidas: as unidades experimentais submetidas a um tratamento, são medidas mais de uma vez,
    • as vezes resultam em dados longitudinais - no caso em que as unidades são medidas no tempo

Séries Temporais resultam em dados longitudinais?

  • nestes estudos, uma única unidade amostral é avaliada em vários instantes no tempo;
    • Exemplo: série temporal dos casos novos diários de COVID-19 nos últimos 6 meses, no território nacional;
    • Em geral, não resultam em dados longitudinais, pois nos estudos longitudinais há mais de um indivíduo/unidade amostral sendo avaliado no tempo

Exemplos Singer, Nobre & Rocha (2018) IME/USP

Exemplo 1 Dados de Pressão arterial sistólica (mm Hg) - Singer & Magalhães (1998)

  • Local:Faculdade de Medicina da Universidade de São Paulo;
  • Objetivo:Avaliar o efeito da ingestão de sódio na pressão arterial de pacientes hipertensos;
  • Descrição do experimento: Estudo com medidas repetidas; planejamento balanceado em relação ao “tempo”; dados completos;
  • Observações: aplica-se o teste t pareado, ou alternativamente, o teste (não paramétrico) de Wilcoxon pareado.
dados_ex1=read.table("exemplo_1.2.1.txt",sep=";",head=TRUE)
table_nums <- captioner(prefix = "Tabela")
cap <- table_nums("tab1","Dados de Pressão arterial sistólica (mm Hg)")
datatable(dados_ex1,caption=cap,class = 'cell-border order-column compact hover')

Disposição dos dados longitudinais - Exemplo 1

  • vamos dispor os dados longitudinais em coluna, para fazer o gráfico ggplot com mais facilidade;
  • observa-se pelo boxplot que os valores de pressão arterial sistólica são, em geral, maiores nos níveis altos de sódio.
temp = dados_ex1 %>%  
  pivot_longer(!Paciente, names_to = "sodio", values_to = "valores")
datatable(temp,class = 'cell-border order-column compact hover')
ggboxplot(temp, x = "sodio", y = "valores", 
          color = "sodio", palette = c("#00AFBB", "#E7B800"),
          order = c("baixo_teor_sodio", "alto_teor_sodio"),
          ylab = "valores", xlab = "Niveis")

Figura 1: Boxplot exemplo 1

Para os perfis:

#cria variável dummy pra indicar baixo teor/alto teor sódio
temp = dados_ex1 %>%  
  pivot_longer(!Paciente, names_to = "sodio", values_to = "valores")
temp = temp %>%
       mutate(nivel = ifelse(sodio=="alto_teor_sodio",1,0))
datatable(temp,class = 'cell-border order-column compact hover')
ggplot(temp, aes (x = nivel, y = valores, color = as.factor(Paciente))) +
  geom_point() +
  geom_line() +
  theme(legend.position = "none")

Figura 2: Perfis da pressão arterial sistólica (mm Hg) por níveis de sódio

Teste t pareado para o Exemplo 1

  • Pelos resultados do teste t pareado, rejeita-se a hipótese nula de igualdade de médias;

  • Adicionalmente, considerando o teste unilateral, também rejeitamos a hipótese nula.

  • No entando a verificação de normalidade nos traz alguns desvios de normalidade, indicativo de que devemos recorrer ao teste não paramétrico.

  • saiba mais sobre Teste t pareado ;

  • Conclusão: Rejeita-se a hipótese de igualdade entre as médias de pressão arterial para os níveis diferentes de sódio;

  • Adicionalmente: Também rejeita-se a hipótese de igualdade de médias no teste unilateral a direita;

  • Importante: Verificação de normalidade das diferenças dos valores de pressão arterial (“alto”-“baixo”)

#com o conjunto de dados original
t.test(dados_ex1$alto_teor_sodio,dados_ex1$baixo_teor_sodio,paired = TRUE, alternative = "two.sided")
## 
##  Paired t-test
## 
## data:  dados_ex1$alto_teor_sodio and dados_ex1$baixo_teor_sodio
## t = 2.6567, df = 19, p-value = 0.01558
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  1.060828 8.939172
## sample estimates:
## mean of the differences 
##                       5
t.test(dados_ex1$alto_teor_sodio,dados_ex1$baixo_teor_sodio, paired = TRUE, alternative = "greater")
## 
##  Paired t-test
## 
## data:  dados_ex1$alto_teor_sodio and dados_ex1$baixo_teor_sodio
## t = 2.6567, df = 19, p-value = 0.007788
## alternative hypothesis: true difference in means is greater than 0
## 95 percent confidence interval:
##  1.745689      Inf
## sample estimates:
## mean of the differences 
##                       5

Outro modo: (verifique o código em R, os resultados serão os mesmos)

#com o conjunto de dados transformado
t.test(valores ~ sodio,paired = TRUE, alternative = "two.sided",data=temp)
t.test(valores ~ sodio, paired = TRUE, alternative = "greater",data=temp)
dif = dados_ex1$alto_teor_sodio-dados_ex1$baixo_teor_sodio
shapiro.test(dif)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif
## W = 0.90761, p-value = 0.05741
qqnorm(dif) # QQ-plot 
qqline(dif)

Figura 3: Gráfico qqplot de verificação de normalidade

Teste não paramétrico - Wilcoxon pareado para o Exemplo 1:

  • rejeita-se a hipótese nula de igualdade entre as medianas;
  • adicionalmente pelo teste unilateral, rejeita-se a hipótese nula
  • para esse teste, houve um cálculo aproximado (ao invés de exato) para o valor-p do teste - isto ocorre devido a empates nos “ranks” e/ou tamanho de amostra reduzido.

saiba mais sobre Teste Wilcoxon pareado exemplo de aplicação no R (english) artigo sobre testes não paramétricos

#com o conjunto de dados original
 wilcox.test(dados_ex1$alto_teor_sodio,dados_ex1$baixo_teor_sodio, paired= TRUE,alternative = "two.sided")
## Warning in wilcox.test.default(dados_ex1$alto_teor_sodio,
## dados_ex1$baixo_teor_sodio, : cannot compute exact p-value with ties
## 
##  Wilcoxon signed rank test with continuity correction
## 
## data:  dados_ex1$alto_teor_sodio and dados_ex1$baixo_teor_sodio
## V = 171, p-value = 0.0143
## alternative hypothesis: true location shift is not equal to 0
 wilcox.test(dados_ex1$alto_teor_sodio,dados_ex1$baixo_teor_sodio, paired= TRUE,alternative = "greater")
## Warning in wilcox.test.default(dados_ex1$alto_teor_sodio,
## dados_ex1$baixo_teor_sodio, : cannot compute exact p-value with ties
## 
##  Wilcoxon signed rank test with continuity correction
## 
## data:  dados_ex1$alto_teor_sodio and dados_ex1$baixo_teor_sodio
## V = 171, p-value = 0.007152
## alternative hypothesis: true location shift is greater than 0

Outro modo: (verifique o código em R, os resultados serão os mesmos)

#com o conjunto de dados transformado
wilcox.test(valores ~ sodio,paired = TRUE, alternative = "two.sided",data=temp)
wilcox.test(valores ~ sodio, paired = TRUE, alternative = "greater",data=temp)

Exemplo 2 Tempo gasto para calçar meia(s) - Elias & Osake (1998)

  • Local:Escola de Educação Física e Esporte da Universidade de São Paulo;
  • Objetivo:Avaliar o efeito de um programa de treinamento, no desempenho de atividades físicas pelos idosos, controlado por sexo: F ou M - tempo mínimo (em s) para calçar meia no pé, em duas tentativas;
  • Descrição do experimento: Estudo com medidas repetidas com presença de dois níveis para o fator sexo; planejamento balanceado em relação ao “tempo” e dados completos;
  • Observações: Presença de dados omissos; dados desbalanceados.

Exemplo 3 Velocidade de transporte mucociliar relativa (m/s) - Singer & Andrade (2000)

  • Local:Laboratório Experimental de Poluição Atmosférica da Faculdade de Medicina da Universidade de São Paulo;

  • Objetivo:Avaliar os efeitos de agentes oxidantes no sistema respiratório;

  • Descrição do experimento:

    • Cinquenta e seis palatos de sapos foram equitativamente e aleatoriamente alocados a um de seis grupos;
    • cada grupo de 8 palatos foi imerso por 35 minutos numa solução de peróxido de hidrogênio nas concentrações: 1, 8, 16, 32 ou 64 µM;
    • Velocidade de transporte mucociliar relativa (mm/s): quociente entre a velocidade de transporte mucociliar num determinado instante e aquela obtida antes da intervenção experimental;
    • Observada a cada cinco minutos após a imersão;
    • São 6 níveis do fator interunidades de investigação - concentração;
    • São 7 níveis do fator intraunidades de investigação - tempo;
  • Observações: Estudo longitudinal com planejamento balanceado em relação ao tempo; presença de dados omissos.

Explorando os dados longitudinais - Exemplo 3

temp=dados_ex3
names(temp)=c("Palato","Concentracao","5","10","15","20","25","30","35")
temp = temp %>%  
  pivot_longer(!Palato:Concentracao, names_to = "tempo", values_to = "valores",values_drop_na = TRUE)
temp$tempo=as.numeric(temp$tempo)
datatable(temp,class = 'cell-border order-column compact hover')
temp %>% 
  ggplot(aes(x=as.factor(tempo),y=valores)) +
         geom_boxplot()+
  facet_wrap(vars(Concentracao),nrow=3)

Figura 4: Boxplot do exemplo 3

Identificando outliers

  • não há outliers extremos
  • a presença de outliers extremos pode ser devido a erros de medida ou valores não usuais.
temp %>%
  group_by(tempo,Concentracao) %>%
  identify_outliers(valores)
## # A tibble: 6 x 6
##   Concentracao tempo Palato valores is.outlier is.extreme
##          <int> <dbl>  <int>   <dbl> <lgl>      <lgl>     
## 1            1     5     10    1.77 TRUE       FALSE     
## 2            8    10     21    2.36 TRUE       FALSE     
## 3           32    10     40    1.43 TRUE       FALSE     
## 4            8    15     21    2.25 TRUE       FALSE     
## 5           32    30     42    0.9  TRUE       FALSE     
## 6           32    35     42    1    TRUE       FALSE

Próximos passos: Análise de medidas repetidas - Explorando exemplos

Exemplo 4 Dados de pH da placa bacteriana dentária - Grande, Oliveira, Singer, Santos & Nicolau (1998)

  • Local:Faculdade de Odontologia da Universidade de São Paulo;

  • Objetivo:Avaliar o uso contínuo de solução para bochecho no pH da placa bacteriana dentária;

  • Descrição do experimento:

    • As placas dentárias de 21 voluntários foram submetidas a uma solução para bochecho;
    • Depois foi adicionado sacarose, e medido o pH de 0 a 60 minutos (com intervalos de 5);
    • Observação.: Para cada indivíduo, as placas também foram avaliadas antes do bochecho, com adição de sacarose;
    • São dois fatores intraunidades: período de avaliação (antes e depois do bochecho) & tempo após a adição de sacarose (em 7 níveis: 0, 5, …, 60 min);

Exemplo 5: Dados de Nível de corrimento vaginal em três avaliações

  • Objetivo:Avaliar a eficácia de um tratamento para infecção urinária;

  • Descrição do experimento:

    • 50 pacientes com infecção urniária foram examinadas em três instantes
      • dia de início do tratamento;
      • 14 dias após o início do tratamento;
      • 21 dias após o início do tratamento.
    • Variável de interesse: nível de corrimento vaginal - qualitativa ordinal:
      • ausente (0)
      • leve (1)
      • moderado (2)
      • intenso (3)
  • Observações: 1 fator intraunidade amostral - avaliação com três níveis: inicial, 14 dias & 21 dias;

Exemplo 6:Avaliação clínica de dois adesivos dentinários 18 meses após aplicação em dentina seca ou úmida - Singer & Polli (2004)

  • Local: Faculdade de Odontologia da Universidade de Mogi das Cruzes, SP.
  • Objetivo:Avaliar o efeito de dois adesivos dentinários - Single Bond e Prime Bond, em duas condições de aplciação - dentina seca ou úmida, nas variações - pré e pós-operatória da sensibilidade dentinária - presente ou ausente.
dados_1.2.8=read.table("exemplo_1.2.8.txt",sep=";",head=TRUE)
cap <- table_nums("Exemplo 6","Sensibilidade dentinária pré e pós operatória")
colnames(dados_1.2.8) <- c("Material","Dentina","pré-operatória","Ausente","Presente","Total")
  dados_1.2.8 %>%
  kbl(caption = cap) %>%
  kable_classic(full_width = F, html_font = "Cambria") %>%
  add_header_above(c("","","Sensibilidade","Sensibilidade pós-operatória"=3)) %>%
   kable_styling(bootstrap_options = c("striped","hold_position"),
                full_width = F)
Tabela 6: Sensibilidade dentinária pré e pós operatória
Sensibilidade
Sensibilidade pós-operatória
Material Dentina pré-operatória Ausente Presente Total
Single Seca Ausente 22 1 23
Single Seca Presente 3 6 9
Single Seca Subtotal 25 7 32
Single Umida Ausente 12 10 22
Single Umida Presente 7 4 11
Single Umida Subtotal 19 14 33
Prime Seca Ausente 10 6 16
Prime Seca Presente 12 3 15
Prime Seca Subtotal 22 9 31
Prime Umida Ausente 5 13 18
Prime Umida Presente 11 3 14
Prime Umida Subtotal 16 16 32

1.3 Análise descritiva e medidas resumo

Exemplo 1.2.3 (página 13) Gráficos de dispersão, sem considerar concentração = 0:

Figura 5: Gráficos de dispersão para o exemplo 1 Conclusões:

  • Há correlação entre as medidas intraunidades amostrais;
  • As correlações ocorrem com maior intensidade para observações mais próximas entre si. (próximos da diagonal principal da matriz).

Correlograma considerando concentração = 0

  • Obtenção da matriz de covariâncias amostrais ou da matriz de correlações amostrais. Figura 6:

Correlograma considerando concentração=32 Figura 7:

Obtendo os cálculos através das fórmulas na página 25: n_trat é o vetor dos n (unidades amostrais) para cada tratamento

 dados_ex3 %>%
 group_by (Concentracao) %>%
 summarise(n_trat=n()) %>%
 ungroup() %>% #volta a ser dataframe
 select(n_trat)
## `summarise()` ungrouping output (override with `.groups` argument)
## # A tibble: 6 x 1
##   n_trat
##    <int>
## 1      6
## 2     10
## 3     10
## 4     10
## 5     10
## 6     10

Obtendo os vetores y para cada concentração:

con=c(1,8,16,32,64)
y=list() #cada y[[i]] é uma matriz
i=1
while(i<=length(con)){
y[[i]]<- dados_ex3 %>%
  select(-Palato) %>%
  filter(Concentracao == con[i])  %>%
  select(-Concentracao) 
i=i+1
}
y
## [[1]]
##    Tempo_5 Tempo_10 Tempo_15 Tempo_20 Tempo_25 Tempo_30 Tempo_35
## 1     1.12     1.22     1.14     1.22     1.46     1.76     1.72
## 2     1.07     1.36     1.49     1.49     1.46     1.39     1.46
## 3     0.84     0.75     0.58     0.59     0.52     0.43     0.57
## 4     1.77     1.28     1.32     1.53     1.30     1.32     1.44
## 5     0.92     1.16     1.06     1.28     0.97     1.28     1.24
## 6     1.27     1.42     1.45     1.59     1.55     1.42     1.53
## 7     1.05     1.09     0.98     1.28     0.98     1.30     1.33
## 8     0.88     1.02     0.82     0.74     0.75     0.75     0.71
## 9     1.13     1.24     1.13     1.10     1.17     0.86     1.06
## 10    0.89     0.84     0.93     1.02     0.93     0.89     0.86
## 
## [[2]]
##    Tempo_5 Tempo_10 Tempo_15 Tempo_20 Tempo_25 Tempo_30 Tempo_35
## 1     0.81     1.18     0.99     1.08     1.00     1.09     1.09
## 2     1.69     1.62     1.36     1.60     2.00     1.60     1.86
## 3     0.89     0.85     0.88     0.82     0.95     1.09     1.18
## 4     1.10     1.57     1.32     1.56     1.83     1.83     1.86
## 5     1.84     2.36     2.25     2.25     2.05     2.08     2.13
## 6     1.25     1.22     0.88     0.73     0.66     0.58     0.57
## 7     0.90     1.05     0.90     0.88     0.86     0.85     0.92
## 8     1.12     1.06     0.99     0.92     0.91     1.01     1.00
## 9     1.43     1.25     1.19     1.12     1.13     1.12     1.18
## 10    1.26     1.24     1.20     1.13     1.03     1.08     1.13
## 
## [[3]]
##    Tempo_5 Tempo_10 Tempo_15 Tempo_20 Tempo_25 Tempo_30 Tempo_35
## 1     0.88     0.73     0.61     0.58     0.61     0.48     0.52
## 2     0.87     0.69     0.50     0.42     0.38     0.38     0.44
## 3     1.43     0.98     0.70     0.54     0.43     0.41     0.43
## 4     1.30     1.00     0.67     0.68     0.53     0.67     0.62
## 5     0.92     0.86     0.88     0.85     0.79     0.66     0.82
## 6     1.21     1.01     0.75     0.79     0.69     0.70     0.82
## 7     0.68     0.86     0.86     0.59     0.57     0.61     0.66
## 8     0.75     0.74     0.96     0.87     1.00     0.90     1.14
## 9     0.97     0.84     0.71     0.83     0.67     0.73     0.72
## 10    1.08     1.12     0.86     1.02     0.85     0.90     0.89
## 
## [[4]]
##    Tempo_5 Tempo_10 Tempo_15 Tempo_20 Tempo_25 Tempo_30 Tempo_35
## 1     0.97     0.67     0.49     0.46     0.38     0.35     0.29
## 2     0.60     0.54     0.71     0.33     0.29     0.27     0.36
## 3     1.37     0.83     0.65     0.56     0.41     0.35     0.40
## 4     1.45     1.43     0.99     0.92     0.58     0.51     0.46
## 5     0.92     0.58     0.39     0.24     0.23     0.29     0.23
## 6     1.12     0.96     0.80     0.71     0.80     0.90     1.00
## 7     0.79     0.84     0.75     0.69     0.53     0.53     0.65
## 8     1.02     1.08     0.92     0.79     0.64     0.62     0.57
## 9     0.83     0.66     0.55     0.54     0.48     0.45     0.54
## 10    0.72     0.48     0.63     0.57     0.63     0.53     0.54
## 
## [[5]]
##    Tempo_5 Tempo_10 Tempo_15 Tempo_20 Tempo_25 Tempo_30 Tempo_35
## 1     0.12     0.09     0.22     0.11     0.16     0.11     0.09
## 2     0.48     0.48     0.48     0.41     0.33     0.39     0.30
## 3     0.20     0.47     0.27     0.34     0.26     0.30     0.44
## 4     0.79     0.74     0.86     0.63     0.67     0.86     0.92
## 5     0.38     0.66     0.94     0.84     0.82     0.88     0.89
## 6     0.94     0.84     0.64     0.53     0.48     0.50     0.50
## 7     0.17     0.54     0.67     0.66     0.66     0.81     0.96
## 8     0.96     1.01     1.23     0.93     0.87     0.81     0.81
## 9     0.62     0.90     0.81     0.86     0.66     0.84     0.78
## 10    0.23     0.40     0.25     0.16     0.27     0.27     0.47

Correlograma considerando amostra combinada (pooled) - Matriz de covariâncias amostrais combinada (pooled) obtida com a eliminação do grupo avaliado sob a concentração 0 µM (em que há observações omissas) é:

M_t <- dados_ex3 %>%
  select(-Palato) %>%
  filter(Concentracao != 0) %>%
  select(-Concentracao)
M_t <- cor(M_t)
corrplot.mixed(M_t,lower = "circle", upper = "number")

Disposição de dados longitudinais

library(knitr)
#devtools::install_github("haozhu233/kableExtra")
library(kableExtra)
tabela <- data.frame(
                un = c("1","1","...","1","2","2","...","2","n","n","...","n"), 
          Resposta = c("$y_{11}$","$y_{12}$","...","$y_{1m_1}$",
                       "$y_{21}$","$y_{22}$","...","$y_{2m_2}$",
                       "$y_{n1}$","$y_{n2}$","...","$y_{nm_n}$"),
          Tempo = c("$t_{11}$","$t_{12}$","...","$t_{1m_1}$",
                       "$t_{21}$","$t_{22}$","...","$t_{2m_2}$",
                       "$t_{n1}$","$t_{n2}$","...","$t_{nm_n}$"),
          Covariavel_X = c("$x_1$","$x_1$","...","$x_1$",
                       "$x_2$","$x_2$","...","$x_2$",
                       "$x_n$","$x_n$","...","$x_n$"),
          Covariavel_W = c("$w_1$","$w_1$","...","$w_1$",
                       "$w_2$","$w_2$","...","$w_2$",
                       "$w_n$","$w_n$","...","$w_n$"),
          Covariavel_V = c("$v_1$","$v_1$","...","$v_1$",
                       "$v_2$","$v_2$","...","$v_2$",
                       "$v_n$","$v_n$","...","$v_n$"),
          Covariavel_Z = c("$z_1$","$z_1$","...","$z_1$",
                       "$z_2$","$z_2$","...","$z_2$",
                       "$z_n$","$z_n$","...","$z_n$"))
colnames(tabela) <- c("amostral", "Resposta","Tempo","X","W","V","Z")
cap = table_nums("Tabela","Disposição dos dados longitudinais")
  tabela %>%
  kbl(caption = cap) %>%
  kable_classic(full_width = F, html_font = "Cambria") %>%
     kable_styling(bootstrap_options = c("striped","hold_position"),
                full_width = F)%>%
  add_header_above(c("Unidade","","","Covariaveis"=4))
Tabela 7: Disposição dos dados longitudinais
Unidade
Covariaveis
amostral Resposta Tempo X W V Z
1 \(y_{11}\) \(t_{11}\) \(x_1\) \(w_1\) \(v_1\) \(z_1\)
1 \(y_{12}\) \(t_{12}\) \(x_1\) \(w_1\) \(v_1\) \(z_1\)
1 \(y_{1m_1}\) \(t_{1m_1}\) \(x_1\) \(w_1\) \(v_1\) \(z_1\)
2 \(y_{21}\) \(t_{21}\) \(x_2\) \(w_2\) \(v_2\) \(z_2\)
2 \(y_{22}\) \(t_{22}\) \(x_2\) \(w_2\) \(v_2\) \(z_2\)
2 \(y_{2m_2}\) \(t_{2m_2}\) \(x_2\) \(w_2\) \(v_2\) \(z_2\)
n \(y_{n1}\) \(t_{n1}\) \(x_n\) \(w_n\) \(v_n\) \(z_n\)
n \(y_{n2}\) \(t_{n2}\) \(x_n\) \(w_n\) \(v_n\) \(z_n\)
n \(y_{nm_n}\) \(t_{nm_n}\) \(x_n\) \(w_n\) \(v_n\) \(z_n\)

Referencias

  • Bibliografia Básica

    • DIGGLE, P., HEAGERTY, P.; LIANG, K.Y.; ZEGER, S. Analysis of Longitudinal Data, 2nd ed. Oxford: University Press. 2013. 400 p.
    • HAND, D.J.; CROWDER, M.J. Practical Longitudinal Data Analysis, London: Chapman & Hall/CRC, 1996. 232 p.
    • VERBEKE, G.; MOLENBERGHS, G. Linear Mixed Models for Longitudinal Data. New York: Springer, 2009. 570 p.
    • WEISS, R.E. Modeling Longitudinal Data. New York: Springer-Verlag, 2005. 432
  • Bibliografia Complementar

    • CAMERON, A.C.; TRIVEDI, P.K. Regression Analysis of Count Data (Econometrics Society Monographs). 2nd ed. Cambrige: University Press, 2013. 596 p.
    • DAVIDIAN, M.; GILTINAN, D.M. Nonlinear Models for Repeated Measurement Data. New York: Chapman & Hall/CRC, 1995. 360 p.
    • DEMIDENKO, E. Mixed Models: Theory and Applications with R. 2nd ed. New York: Wiley, 2013. 754 p.
    • FITZMAURICE, G.M.; LAIRD, N.M.; WARE, J.H. Applied Longitudinal Analysis. John Wiley & Sons. 2011. 740 p.
    • HEDEKER, D.; GIBBONS, R.D. Longitudinal Data Analysis. New York: Wiley,
  1. 360 p.
  • Referências dos dados ao longo do texto

    • Elian, S. N. & Okaze, S. M. (1998). Mudanças de desempenho em atividades motoras da vida diária em idosos participantes de um programa de educação física, Technical Report RAE-CEA-98P07, Centro de Estatística Aplicada, IME, Universidade de São Paulo.
    • Grande, R. H. M., Oliveira, E., Singer, J. M., Santos, J. F. F. & Nicolau, J. (1998). Efeitos do uso contínuo de solução para bochecho sobre o ph e o conteúdo mineral da placa bacteriana, Revista da Pós-Graduação da Faculdade de Odontologia da Universidade de São Paulo 5: 143–147.
    • Singer, J. M. & Magalhães, L. M. (1998). Efeito do sódio na pressão arterial em hipertensos essenciais, Technical Report RAE-CEA-97P37, Centro de Estatística Aplicada, IME, Universidade de S˜ao Paulo.
    • Singer, J. M. & Andrade, D. F. (2000). Analysis of longitudinal data, Handbook of Statistics, Volume 18: Bio-environmental and Public Health Statistics. Eds. P.K. Sen and C.R. Rao, pp. 115–160.
    • Singer, J. M. & Polli, D. A. (2004). Avaliação clínica de dois adesivos dentinários 18 meses ap´ os aplicação em dentina seca ou úmida, Technical Report CEA-RAE-04P12, Centro de Estatística Aplicada, IME, Universidade de S˜ ao Paulo.