### Age, period and cohort model
library (Epi)
### Midwest Firearm
bdafco=read.csv2("bdafco.csv")
D <- with(bdafco,tapply( D, list(A,P), sum ))
Y <- with (bdafco,tapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit <- apc.fit(A=bdafco$A,P=bdafco$P,D=bdafco$D,Y=bdafco$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit)
###Midwest autointoxication
bdaut=read.csv2("bdaut.csv")
D <- with(bdaut,tapply( D, list(A,P), sum ))
Y <- with (bdaut,tapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit2 <- apc.fit(A=bdaut$A,P=bdaut$P,D=bdaut$D,Y=bdaut$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit2)
###Midwest HSS
bdhss=read.csv2("bdaut.csv")
D <- with(bdhss,tapply( D, list(A,P), sum ))
Y <- with (bdhsstapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit3 <- apc.fit(A=bdhsst$A,P=bdhss$P,D=bdhss$D,Y=bdaut$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit3)
### South Firearm
bdafco=read.csv2("bdafco.csv")
D <- with(bdafco,tapply( D, list(A,P), sum ))
Y <- with (bdafco,tapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit4 <- apc.fit(A=bdafco$A,P=bdafco$P,D=bdafco$D,Y=bdafco$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit4)
###South autointoxication
bdaut=read.csv2("bdaut.csv")
D <- with(bdaut,tapply( D, list(A,P), sum ))
Y <- with (bdaut,tapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit5 <- apc.fit(A=bdaut$A,P=bdaut$P,D=bdaut$D,Y=bdaut$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit5)
###South HSS
bdhss=read.csv2("bdaut.csv")
D <- with(bdhss,tapply( D, list(A,P), sum ))
Y <- with (bdhsstapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit6 <- apc.fit(A=bdhsst$A,P=bdhss$P,D=bdhss$D,Y=bdaut$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit6)
### Southeast Firearm
bdafco=read.csv2("bdafco.csv")
D <- with(bdafco,tapply( D, list(A,P), sum ))
Y <- with (bdafco,tapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit7 <- apc.fit(A=bdafco$A,P=bdafco$P,D=bdafco$D,Y=bdafco$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit7)
###Southeast autointoxication
bdaut=read.csv2("bdaut.csv")
D <- with(bdaut,tapply( D, list(A,P), sum ))
Y <- with (bdaut,tapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit8 <- apc.fit(A=bdaut$A,P=bdaut$P,D=bdaut$D,Y=bdaut$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit8)
###Southeast HSS
bdhss=read.csv2("bdaut.csv")
D <- with(bdhss,tapply( D, list(A,P), sum ))
Y <- with (bdhsstapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit9 <- apc.fit(A=bdhsst$A,P=bdhss$P,D=bdhss$D,Y=bdaut$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit9)
### Northeast Firearm
bdafco=read.csv2("bdafco.csv")
D <- with(bdafco,tapply( D, list(A,P), sum ))
Y <- with (bdafco,tapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit10 <- apc.fit(A=bdafco$A,P=bdafco$P,D=bdafco$D,Y=bdafco$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit10)
###Northeast autointoxication
bdaut=read.csv2("bdaut.csv")
D <- with(bdaut,tapply( D, list(A,P), sum ))
Y <- with (bdaut,tapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit11 <- apc.fit(A=bdaut$A,P=bdaut$P,D=bdaut$D,Y=bdaut$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit11)
###Northeast HSS
bdhss=read.csv2("bdaut.csv")
D <- with(bdhss,tapply( D, list(A,P), sum ))
Y <- with (bdhsstapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit12 <- apc.fit(A=bdhsst$A,P=bdhss$P,D=bdhss$D,Y=bdaut$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit12)
### North Firearm
bdafco=read.csv2("bdafco.csv")
D <- with(bdafco,tapply( D, list(A,P), sum ))
Y <- with (bdafco,tapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit13 <- apc.fit(A=bdafco$A,P=bdafco$P,D=bdafco$D,Y=bdafco$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit13)
###North autointoxication
bdaut=read.csv2("bdaut.csv")
D <- with(bdaut,tapply( D, list(A,P), sum ))
Y <- with (bdaut,tapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit14 <- apc.fit(A=bdaut$A,P=bdaut$P,D=bdaut$D,Y=bdaut$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit14)
###Northeast HSS
bdhss=read.csv2("bdaut.csv")
D <- with(bdhss,tapply( D, list(A,P), sum ))
Y <- with (bdhsstapply( pop1, list(A,P), sum ))
R <- D/Y*(10^5)
PER <- rep(1:8,each=15)
dados.fit15 <- apc.fit(A=bdhsst$A,P=bdhss$P,D=bdhss$D,Y=bdaut$pop1/10^5,dist="poisson",model="ns",dr.extr="Holford",parm="ACP",ref.p=2002,ref.c=1950)
apc.plot(dados.fit15)
##### Figure 1
##Gráfico de linha
# Carregar pacotes necessários – verifique se já estão instalados
library(readxl)
library(ggplot2)
library(dplyr)
library(tidyr)
library(scales)
library(patchwork)
# Carregar pacotes necessários – verifique se já estão instalados
library(readxl)
library(ggplot2)
library(dplyr)
library(tidyr)
library(scales)
library(ggpubr)
# Carregar os dados do arquivo Excel
# Norte
dados <- Nortefig1
str(dados)
dados_long <- dados %>%
pivot_longer(
cols = c("Hanging, strangulation and suffocation", "Autointoxication", "Firearm "),
names_to = "Means",
values_to = "Rate"
)
grafico1 <- ggplot(data = dados_long, aes(x = Year, y = Rate, color = Means)) +
geom_line(size = 1.5) +
labs(x = "Year", y = "Mortality rate per 100,000 women", title = "North", color = "Means") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 10,face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico1)
ggsave("North.png", grafico1, width = 10, height = 6, dpi = 300)
# Nordeste
dados1 <- Nordestefig1
str(dados1)
dados_long1 <- dados1 %>%
pivot_longer(cols = c("Hanging, strangulation and suffocation", "Autointoxication", "Firearm "), names_to = "Means", values_to = "Rate")
grafico2 <- ggplot(data = dados_long1, aes(x = Year, y = Rate, color = Means)) +
geom_line(size = 1.5) +
labs(x = "Year", y = "Mortality rate per 100,000 women", title = "Northeast", color = "Means") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 10,face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico2)
ggsave("Northeast.png", grafico2, width = 10, height = 6, dpi = 300)
# Sudeste
dados2 <- Sudestefig1
str(dados2)
dados_long2 <- dados2 %>%
pivot_longer(cols = c("Hanging, strangulation and suffocation", "Autointoxication", "Firearm "), names_to = "Means", values_to = "Rate")
grafico3 <- ggplot(data = dados_long2, aes(x = Year, y = Rate, color = Means)) +
geom_line(size = 1.5) +
labs(x = "Year", y = "Mortality rate per 100,000 women", title = "Southeast", color = "Means") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 10,face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico3)
ggsave("Southeast.png", grafico3, width = 10, height = 6, dpi = 300)
# Sul
dados3 <- Sulfig1
str(dados3)
dados_long3 <- dados3 %>%
pivot_longer(cols = c("Hanging, strangulation and suffocation", "Autointoxication", "Firearm "), names_to = "Means", values_to = "Rate")
grafico4 <- ggplot(data = dados_long3, aes(x = Year, y = Rate, color = Means)) +
geom_line(size = 1.5) +
labs(x = "Year", y = "Mortality rate per 100,000 women", title = "South", color = "Means") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 10,face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico4)
# Centro-Oeste
dados4 <- COfig1
str(dados4)
dados_long4 <- dados4 %>%
pivot_longer(cols = c("Hanging, strangulation and suffocation", "Autointoxication", "Firearm "), names_to = "Means", values_to = "Rate")
grafico5 <- ggplot(data = dados_long4, aes(x = Year, y = Rate, color = Means)) +
geom_line(size = 1.5) +
labs(x = "Year", y = "Mortality rate per 100,000 women", title = "Midwest", color = "Means") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 10,face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico5)
# Combinar os gráficos lado a lado
plota_graficos <- ggarrange(grafico1, grafico2, grafico3, grafico4, grafico5,
ncol = 5, nrow = 1, common.legend = TRUE, legend = "bottom")# Mostrar os gráficos
print(plota_graficos)
# Salvar o conjunto de gráficos com ajuste de largura e altura
ggsave("Graficos_combinados.png", plot = plota_graficos, width = 25, height = 8, dpi = 300) # Ajuste a largura e altura conforme necessário
### Código corrigido
## Gráfico de linha
# Carregar pacotes necessários
library(readxl)
library(ggplot2)
library(dplyr)
library(tidyr)
library(scales)
library(patchwork)
library(ggpubr)
# Inspecionar dados e corrigir nomes de colunas
print(colnames(Nortefig1))
print(colnames(Nordestefig1))
print(colnames(Sudestefig1))
print(colnames(Sulfig1))
print(colnames(COfig1))
# Corrigir espaços em branco nos nomes das colunas
Nortefig1 <- Nortefig1 %>% rename_all(trimws)
Nordestefig1 <- Nordestefig1 %>% rename_all(trimws)
Sudestefig1 <- Sudestefig1 %>% rename_all(trimws)
Sulfig1 <- Sulfig1 %>% rename_all(trimws)
COfig1 <- COfig1 %>% rename_all(trimws)
# Norte
dados <- Nortefig1
str(dados)
dados_long <- dados %>%
pivot_longer(
cols = c("Hanging, strangulation and suffocation", "Autointoxication", "Firearm"),
names_to = "Means",
values_to = "Rate"
)
grafico1 <- ggplot(data = dados_long, aes(x = Year, y = Rate, color = Means)) +
geom_line(size = 1.5) +
labs(x = "Year", y = "Mortality rate per 100,000 women", title = "North", color = "Means") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 10,face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico1)
ggsave("North.png", grafico1, width = 10, height = 6, dpi = 300)
# Nordeste
dados1 <- Nordestefig1
str(dados1)
dados_long1 <- dados1 %>%
pivot_longer(cols = c("Hanging, strangulation and suffocation", "Autointoxication", "Firearm"), names_to = "Means", values_to = "Rate")
grafico2 <- ggplot(data = dados_long1, aes(x = Year, y = Rate, color = Means)) +
geom_line(size = 1.5) +
labs(x = "Year", y = "Mortality rate per 100,000 women", title = "Northeast", color = "Means") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 10,face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico2)
ggsave("Northeast.png", grafico2, width = 10, height = 6, dpi = 300)
# Sudeste
dados2 <- Sudestefig1
str(dados2)
dados_long2 <- dados2 %>%
pivot_longer(cols = c("Hanging, strangulation and suffocation", "Autointoxication", "Firearm"), names_to = "Means", values_to = "Rate")
grafico3 <- ggplot(data = dados_long2, aes(x = Year, y = Rate, color = Means)) +
geom_line(size = 1.5) +
labs(x = "Year", y = "Mortality rate per 100,000 women", title = "Southeast", color = "Means") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 10,face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico3)
ggsave("Southeast.png", grafico3, width = 10, height = 6, dpi = 300)
# Sul
dados3 <- Sulfig1
str(dados3)
dados_long3 <- dados3 %>%
pivot_longer(cols = c("Hanging, strangulation and suffocation", "Autointoxication", "Firearm"), names_to = "Means", values_to = "Rate")
grafico4 <- ggplot(data = dados_long3, aes(x = Year, y = Rate, color = Means)) +
geom_line(size = 1.5) +
labs(x = "Year", y = "Mortality rate per 100,000 women", title = "South", color = "Means") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 10,face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico4)
# Centro-Oeste
dados4 <- COfig1
str(dados4)
dados_long4 <- dados4 %>%
pivot_longer(cols = c("Hanging, strangulation and suffocation", "Autointoxication", "Firearm"), names_to = "Means", values_to = "Rate")
grafico5 <- ggplot(data = dados_long4, aes(x = Year, y = Rate, color = Means)) +
geom_line(size = 1.5) +
labs(x = "Year", y = "Mortality rate per 100,000 women", title = "Midwest", color = "Means") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 10,face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico5)
# Combinar os gráficos lado a lado
plota_graficos <- ggarrange(grafico1, grafico2, grafico3, grafico4, grafico5,
ncol = 5, nrow = 1, common.legend = TRUE, legend = "bottom")
# Mostrar os gráficos
print(plota_graficos)
# Salvar o conjunto de gráficos com ajuste de largura e altura
ggsave("Graficos_combinados.png", plot = plota_graficos, width = 25, height = 8, dpi = 300) # Ajuste a largura e altura conforme necessário
##### Figure 2
# Carregar pacotes necessários – verifique se já estão instalados
library(readxl)
library(ggplot2)
library(dplyr)
library(tidyr)
library(scales)
library(ggpubr)
library(lubridate)
library(patchwork)
library(viridis)
# Definir função para processar dados
processar_dados <- function(dados) {
dados %>%
pivot_longer(cols = -Cohort, names_to = "Age group", values_to = "Percentage") %>%
mutate(Year = gsub("\\D", "", Cohort) %>% as.character()) %>%
filter(!is.na(Percentage))
}
# Definir função para criar gráficos
criar_grafico <- function(data_long, title, x_labels) {
ggplot(data_long, aes(x = Year, y = Percentage, color = `Age group`, group = `Age group`)) +
geom_line(size = 1.1) +
labs(
title = title,
x = "Cohort",
y = "Mortality rate per 100,000 women",
color = "Age group"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 10, face = "bold"),
axis.title = element_text(size = 8, face = "bold"),
axis.text = element_text(size = 8),
axis.text.x = element_text(size = 6, angle = 45, hjust = 1), # Reduzir tamanho e rotacionar rótulos do eixo x
legend.title = element_text(size = 8, face = "bold"),
legend.text = element_text(size = 8),
legend.position = "bottom",
panel.background = element_rect(fill = "white", color = "white") # Fundo branco
) +
scale_x_discrete(labels = x_labels) +
scale_color_viridis_d(option = "turbo") +
scale_y_continuous(limits = c(0, 10))
}
# Definir os rótulos do eixo x
x_labels_func <- function(cohorts) {
labels <- gsub("(\\d{4})-\\d{2}(\\d{2})", "\\1-\\2", as.character(cohorts))
return(labels)
}
# Processar dados e criar gráficos individuais
gravar_plot <- function(dados, title, file_name) {
data_processed <- processar_dados(dados)
x_labels <- x_labels_func(dados$Cohort)
plot <- criar_grafico(data_processed, title, x_labels)
print(plot)
ggsave(file_name, plot, width = 10, height = 6, dpi = 300)
return(plot)
}
# Gravar gráficos
plot2 <- gravar_plot(norte, "North", "North.png")
plot3 <- gravar_plot(nordeste, "Northeast", "Northeast.png")
plot4 <- gravar_plot(sudeste, "Southeast", "Southeast.png")
plot5 <- gravar_plot(sul, "South", "South.png")
plot6 <- gravar_plot(Co, "Midwest", "Midwest.png")
# Combinar os gráficos lado a lado e mover a legenda para o lado do ultimo gráfico
plota_graficos <- ggarrange(plot2, plot3, plot4, plot5, plot6,
ncol = 3, nrow = 2,
common.legend = TRUE,
legend = "right") # Posicionar a legenda à direita
# Mostrar os gráficos combinadoshttp://127.0.0.1:46649/graphics/e4445084-fbba-4609-9c5a-fb821da399fd.png
print(plota_graficos)
# Salvar o conjunto de gráficos com ajuste de largura e altura
plotfinal=ggsave("Graficos_combinados.png", plot = plota_graficos, width = 25, height = 8, dpi = 300) # Ajuste a largura e altura conforme necessário
#### Figure 3
# Carregar pacotes necessários – verifique se já estão instalados
library(readxl)
library(ggplot2)
library(dplyr)
library(tidyr)
library(scales)
library(ggpubr)
library(lubridate)
library(patchwork)
library(viridis)
# Definir função para processar dados
processar_dados <- function(dados) {
dados %>%
pivot_longer(cols = -Cohort, names_to = "Age group", values_to = "Percentage") %>%
mutate(Year = gsub("\\D", "", Cohort) %>% as.character()) %>%
filter(!is.na(Percentage))
}
# Definir função para criar gráficos
criar_grafico <- function(data_long, title, x_labels) {
ggplot(data_long, aes(x = Year, y = Percentage, color = `Age group`, group = `Age group`)) +
geom_line(size = 1.1) +
labs(
title = title,
x = "Cohort",
y = "Mortality rate per 100,000 women",
color = "Age group"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 10, face = "bold"),
axis.title = element_text(size = 8, face = "bold"),
axis.text = element_text(size = 8),
axis.text.x = element_text(size = 6, angle = 45, hjust = 1), # Reduzir tamanho e rotacionar rótulos do eixo x
legend.title = element_text(size = 8, face = "bold"),
legend.text = element_text(size = 8),
legend.position = "bottom",
panel.background = element_rect(fill = "white", color = "white") # Fundo branco
) +
scale_x_discrete(labels = x_labels) +
scale_color_viridis_d(option = "turbo") +
scale_y_continuous(limits = c(0, 6.0), labels = scales::number_format(accuracy = 0.1)) # Formatar eixo Y com uma casa decimal
}
# Definir os rótulos do eixo x
x_labels_func <- function(cohorts) {
labels <- gsub("(\\d{4})-\\d{2}(\\d{2})", "\\1-\\2", as.character(cohorts))
return(labels)
}
# Processar dados e criar gráficos individuais
gravar_plot <- function(dados, title, file_name) {
data_processed <- processar_dados(dados)
x_labels <- x_labels_func(dados$Cohort)
plot <- criar_grafico(data_processed, title, x_labels)
print(plot)
ggsave(file_name, plot, width = 10, height = 6, dpi = 300)
return(plot)
}
# Gravar gráficos
plot2 <- gravar_plot(norteauto, "North", "North.png")
plot3 <- gravar_plot(nordesteauto, "Northeast", "Northeast.png")
plot4 <- gravar_plot(sudesteauto, "Southeast", "Southeast.png")
plot5 <- gravar_plot(sulauto, "South", "South.png")
plot6 <- gravar_plot(coauto, "Midwest", "Midwest.png")
# Combinar os gráficos lado a lado e mover a legenda para o lado do ultimo gráfico
plota_graficos <- ggarrange(plot2, plot3, plot4, plot5, plot6,
ncol = 3, nrow = 2,
common.legend = TRUE,
legend = "right") # Posicionar a legenda à direita
# Mostrar os gráficos combinadoshttp://127.0.0.1:46649/graphics/e4445084-fbba-4609-9c5a-fb821da399fd.png
print(plota_graficos)
# Salvar o conjunto de gráficos com ajuste de largura e altura
plotfinal=ggsave("Graficos_combinados.png", plot = plota_graficos, width = 25, height = 8, dpi = 300) # Ajuste a largura e altura conforme necessário
#### Figure 4
# Carregar pacotes necessários – verifique se já estão instalados
library(readxl)
library(ggplot2)
library(dplyr)
library(tidyr)
library(scales)
library(ggpubr)
library(lubridate)
library(patchwork)
library(viridis)
# Definir função para processar dados
processar_dados <- function(dados) {
dados %>%
pivot_longer(cols = -Cohort, names_to = "Age group", values_to = "Percentage") %>%
mutate(Year = gsub("\\D", "", Cohort) %>% as.character()) %>%
filter(!is.na(Percentage))
}
# Definir função para criar gráficos
criar_grafico <- function(data_long, title, x_labels) {
ggplot(data_long, aes(x = Year, y = Percentage, color = `Age group`, group = `Age group`)) +
geom_line(size = 1.1) +
labs(
title = title,
x = "Cohort",
y = "Mortality rate per 100,000 women",
color = "Age group"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 10, face = "bold"),
axis.title = element_text(size = 8, face = "bold"),
axis.text = element_text(size = 8),
axis.text.x = element_text(size = 6, angle = 45, hjust = 1), # Reduzir tamanho e rotacionar rótulos do eixo x
legend.title = element_text(size = 8, face = "bold"),
legend.text = element_text(size = 8),
legend.position = "bottom",
panel.background = element_rect(fill = "white", color = "white") # Fundo branco
) +
scale_x_discrete(labels = x_labels) +
scale_color_viridis_d(option = "turbo") +
scale_y_continuous(limits = c(0, 2.0))
}
# Definir os rótulos do eixo x
x_labels_func <- function(cohorts) {
labels <- gsub("(\\d{4})-\\d{2}(\\d{2})", "\\1-\\2", as.character(cohorts))
return(labels)
}
# Processar dados e criar gráficos individuais
gravar_plot <- function(dados, title, file_name) {
data_processed <- processar_dados(dados)
x_labels <- x_labels_func(dados$Cohort)
plot <- criar_grafico(data_processed, title, x_labels)
print(plot)
ggsave(file_name, plot, width = 10, height = 6, dpi = 300)
return(plot)
}
# Gravar gráficos
plot2 <- gravar_plot(norteaf, "North", "North.png")
plot3 <- gravar_plot(nordesteaf, "Northeast", "Northeast.png")
plot4 <- gravar_plot(sudesteaf, "Southeast", "Southeast.png")
plot5 <- gravar_plot(sulaf, "South", "South.png")
plot6 <- gravar_plot(coaf, "Midwest", "Midwest.png")
# Combinar os gráficos lado a lado e mover a legenda para o lado do ultimo gráfico
plota_graficos <- ggarrange(plot2, plot3, plot4, plot5, plot6,
ncol = 3, nrow = 2,
common.legend = TRUE,
legend = "right") # Posicionar a legenda à direita
# Mostrar os gráficos combinadoshttp://127.0.0.1:46649/graphics/e4445084-fbba-4609-9c5a-fb821da399fd.png
print(plota_graficos)
# Salvar o conjunto de gráficos com ajuste de largura e altura
plotfinal=ggsave("Graficos_combinados.png", plot = plota_graficos, width = 25, height = 8, dpi = 300) # Ajuste a largura e altura conforme necessário
#### Figure 5
# Carregar pacotes necessários – verifique se já estão instalados
library(readxl)
library(ggplot2)
library(dplyr)
library(tidyr)
library(ggpubr)
library(lubridate)
library(patchwork)
library(viridis)
library(ggpubr)
library(readxl)
library(tidyr)
library(ggplot2)
library(scales)
library(dplyr)
# Ler a planilha
dados <- HSS
# Ver a estrutura dos dados
str(dados)
# Adaptar os dados para o formato longo
dados_long <- dados %>%
pivot_longer(cols = c("North", "Northeast", "Southeast", "South", "Midwest"),
names_to = "Region",
values_to = "Rate")
# Criar o gráfico
grafico1 <- ggplot(data = dados_long, aes(x = `Age group (Years)`, y = Rate, color = Region, group = Region)) +
geom_line(linewidth = 1.5) +
labs(x = "Age group (Years)", y = "Mortality rate per 100,000 women", title = "Hanging, strangulation and suffocation", color = "Region") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 12, face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico1)
# Salvar o gráfico
ggsave("MortalityRateByRegion.png", grafico1, width = 10, height = 6, dpi = 300)
### Autointoxication
# Ler a planilha
dados1 <- AUT
# Ver a estrutura dos dados
str(dados1)
# Adaptar os dados para o formato longo
dados_long1 <- dados1 %>%
pivot_longer(cols = c("North", "Northeast", "Southeast", "South", "Midwest"),
names_to = "Region",
values_to = "Rate")
# Criar o gráfico
grafico3 <- ggplot(data = dados_long1, aes(x = `Age group (Years)`, y = Rate, color = Region, group = Region)) +
geom_line(linewidth = 1.5) +
labs(x = "Age group (Years)", y = "Mortality rate per 100,000 women", title = "Autointoxication", color = "Region") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 12, face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico3)
# Salvar o gráfico
ggsave("Autointoxication", grafico2, width = 10, height = 6, dpi = 300)
#### Arma de fogo
# Ler a planilha
dados2 <- FA
# Ver a estrutura dos dados
str(dados2)
# Ou
colnames(dados2)
# Adaptar os dados para o formato longo
dados_long2 <- dados2 %>%
pivot_longer(cols = c("North", "Northeast", "Southeast", "South", "Midwest"),
names_to = "Region",
values_to = "Rate")
# Listar nomes das colunas
colnames(dados_long2)
# Nome correto da coluna
nome_correto_coluna <- "Age Group (Years)"
# Verifica se a coluna está presente
if (!(nome_correto_coluna %in% colnames(dados_long2))) {
stop(paste("A coluna `", nome_correto_coluna, "` não foi encontrada!", sep = ""))
}
# Criar o gráfico usando tidy evaluation
grafico2 <- ggplot(data = dados_long2, aes(x = .data[[nome_correto_coluna]], y = Rate, color = Region, group = Region)) +
geom_line(linewidth = 1.5) +
labs(x = "Age group (Years)", y = "Mortality rate per 100,000 women", title = "Firearm", color = "Region") +
scale_y_continuous(limits = c(0, 4.0), breaks = seq(0, 4.0, by = 0.5), labels = scales::number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 12, face="bold"), axis.text.x = element_text(angle = 45, hjust = 1))
# Printar o gráfico
print(grafico2)
# Salvar o gráfico usando grafico2 ao invés de grafico1
ggsave("Firearm.png", grafico2, width = 10, height = 6, dpi = 300)
#### Heatmap efeito do período
# Instale e carregue os pacotes necessários caso ainda não estejam instalados
install.packages(c("ggplot2", "reshape2", "viridis", "ggtext"))
library(ggplot2)
library(reshape2)
library(viridis)
library(ggtext)
library(gridExtra)
# Crie o data frame com os dados fornecidos
data <- data.frame(
Period = c("1980-1984", "1985-1989", "1990-1994", "1995-1999", "2000-2004",
"2005-2009", "2010-2014", "2015-2019"),
North = c(1.200775, 1.135575, 1.073915, 1.020738, 1.000000,
1.040802, 1.146399, 1.212333),
Northeast = c(1.047448, 1.003570, 0.961530, 0.935738, 1.000000,
1.131068, 0.992282, 0.975653),
Southeast = c(1.211762, 1.162043, 1.113354, 1.060915, 1.000000,
0.964985, 1.090264, 1.359831),
South = c(1.111874, 1.146946, 1.170283, 1.118413, 1.000000,
1.007745, 1.110441, 1.232721),
Midwest = c(0.665368, 0.767871, 0.886166, 1.001718, 1.000000,
0.831263, 0.704960, 0.727092)
)
# Transforme os dados para formato longo
data_long <- melt(data, id.vars = "Period")
# Renomeie as colunas para melhor entendimento
colnames(data_long) <- c("Period", "Region", "Value")
# Personalizar os rótulos do eixo Y para deixar "2000-2004" em negrito
y_labels <- c("1980-1984", "1985-1989", "1990-1994", "1995-1999",
"2000-2004", "2005-2009", "2010-2014", "2015-2019")
# Crie o heatmap usando ggplot2 e a escala de cores viridis
heatmap <- ggplot(data_long, aes(x = Region, y = Period, fill = round(Value, 2))) +
geom_tile(color = "white") +
scale_fill_viridis(option = "viridis", name = "Relative Risk", direction = -1, labels = scales::number_format(accuracy = 0.01)) +
geom_text(aes(label = sprintf("%.2f", Value)), color = "black", size = 3) + # Adiciona os valores dentro dos quadrados com duas casas decimais
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1, face = "bold"),
axis.text.y = element_markdown(), # Permite uso de markdown nos rótulos do eixo Y
axis.title.x = element_text(face = "bold"),
axis.title.y = element_text(face = "bold"),
legend.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", hjust = 0.5) # Título centralizado e em negrito
) +
scale_y_discrete(labels = y_labels) + # Aplica os rótulos personalizados do eixo Y
labs(x = "Region", y = "Period", title = "Hanging, strangulation and suffocation")
# Exiba o heatmap
print(heatmap)
### Autointoxicação
# Instale e carregue os pacotes necessários caso ainda não estejam instalados
install.packages(c("ggplot2", "reshape2", "viridis", "ggtext"))
library(ggplot2)
library(reshape2)
library(viridis)
library(ggtext)
library(gridExtra)
# Crie o data frame com os novos dados fornecidos
data <- data.frame(
Period = c("1980-1984", "1985-1989", "1990-1994", "1995-1999", "2000-2004",
"2005-2009", "2010-2014", "2015-2019"),
North = c(0.7192597, 0.685236, 0.6715359, 0.7797337, 1.0000000,
0.7729285, 0.6610171, 0.6705621),
Northeast = c(1.183564, 0.9559083, 0.7919074, 0.7640731, 1.0000000,
1.5055440, 1.0894868, 0.7876651),
Southeast = c(1.6036014, 1.0634235, 0.8237355, 0.8299103, 1.0000000,
1.2490123, 1.3395690, 1.1077437),
South = c(2.0386762, 1.3982127, 1.0824570, 0.9695288, 1.0000000,
1.1580368, 1.4574671, 1.9142154),
Midwest = c(1.1002538, 0.8948955, 0.8194573, 0.8985865, 1.0000000,
0.9787409, 0.9570620, 0.9571144)
)
# Transforme os dados para formato longo
data_long <- melt(data, id.vars = "Period")
# Renomeie as colunas para melhor entendimento
colnames(data_long) <- c("Period", "Region", "Value")
# Personalizar os rótulos do eixo Y para deixar "2000-2004" em negrito
y_labels <- c("1980-1984", "1985-1989", "1990-1994", "1995-1999",
"2000-2004", "2005-2009", "2010-2014", "2015-2019")
# Crie o heatmap usando ggplot2 e a escala de cores viridis
heatmap1 <- ggplot(data_long, aes(x = Region, y = Period, fill = round(Value, 2))) +
geom_tile(color = "white") +
scale_fill_viridis(option = "viridis", name = "Relative Risk", direction = -1, labels = scales::number_format(accuracy = 0.01)) +
geom_text(aes(label = sprintf("%.2f", Value)), color = "black", size = 3) + # Adiciona os valores dentro dos quadrados com duas casas decimais
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1, face = "bold"),
axis.text.y = element_markdown(), # Permite uso de markdown nos rótulos do eixo Y
axis.title.x = element_text(face = "bold"),
axis.title.y = element_text(face = "bold"),
legend.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", hjust = 0.5) # Título centralizado e em negrito
) +
scale_y_discrete(labels = y_labels) + # Aplica os rótulos personalizados do eixo Y
labs(x = "Region", y = "Period", title = "Autointoxication")
# Exiba o heatmap
print(heatmap1)
##### Arma de fogo
install.packages(c("ggplot2", "reshape2", "viridis", "ggtext"))
library(ggplot2)
library(reshape2)
library(viridis)
library(ggtext)
library(gridExtra)
# Crie o data frame com os novos dados fornecidos
data <- data.frame(
Period = c("1980-1984", "1985-1989", "1990-1994", "1995-1999", "2000-2004",
"2005-2009", "2010-2014", "2015-2019"),
North = c(0.8622464, 1.1780534, 1.3574838, 1.2003077, 1.0000000,
0.9648186, 1.0329851, 1.1253206),
Northeast = c(0.7084493, 0.7949396, 1.0051354, 1.3033113, 1.0000000,
0.8287576, 0.8012140, 0.7947278),
Southeast = c(0.7560393, 0.7345041, 0.8247971, 1.0594110, 1.0000000,
0.8132131, 0.7483423, 0.7567764),
South = c(0.6881162, 0.7177084, 0.9009709, 1.2617105, 1.0000000,
0.8142756, 0.7554099, 0.7161992),
Midwest = c(0.6605641, 0.8210038, 1.1024547, 1.4047811, 1.0000000,
0.8084204, 0.7959192, 0.8097788)
)
# Transforme os dados para formato longo
data_long <- melt(data, id.vars = "Period")
# Renomeie as colunas para melhor entendimento
colnames(data_long) <- c("Period", "Region", "Value")
# Personalize os rótulos do eixo Y para deixar "2000-2004" em negrito
y_labels <- c("1980-1984", "1985-1989", "1990-1994", "1995-1999",
"2000-2004", "2005-2009", "2010-2014", "2015-2019")
# Crie o heatmap usando ggplot2 e a escala de cores viridis
heatmap2 <- ggplot(data_long, aes(x = Region, y = Period, fill = round(Value, 2))) +
geom_tile(color = "white") +
scale_fill_viridis(option = "viridis", name = "Relative Risk", direction = -1, labels = scales::number_format(accuracy = 0.01)) +
geom_text(aes(label = sprintf("%.2f", Value)), color = "black", size = 3) + # Adiciona os valores dentro dos quadrados com duas casas decimais
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1, face = "bold"),
axis.text.y = element_markdown(), # Permite uso de markdown nos rótulos do eixo Y
axis.title.x = element_text(face = "bold"),
axis.title.y = element_text(face = "bold"),
legend.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", hjust = 0.5) # Título centralizado e em negrito
) +
scale_y_discrete(labels = y_labels) + # Aplica os rótulos personalizados do eixo Y
labs(x = "Region", y = "Period", title = "Firearm")
# Exiba o heatmap
print(heatmap2)
# Exibir os heatmaps lado a lado
grid.arrange(heatmap, heatmap1, heatmap2, ncol = 3)
#### Figure 6
# Carregar pacotes necessários – verifique se já estão instalados
library(readxl)
library(ggplot2)
library(dplyr)
library(tidyr)
library(ggpubr)
library(lubridate)
library(patchwork)
library(viridis)
library(scales)
library(viridis)
# Ler a planilha
dados <- HSSco
# Ver a estrutura dos dados (descomente a linha abaixo para visualizar a estrutura dos dados)
str(dados)
# Converter colunas de taxas para numéricas
dados <- dados %>%
mutate(across(c(North, Northeast, Southeast, South, Midwest), as.numeric))
# Adaptar os dados para o formato longo
dados_long <- dados %>%
pivot_longer(cols = c("North", "Northeast", "Southeast", "South", "Midwest"),
names_to = "Region",
values_to = "Rate")
# Criar o gráfico
grafico1 <- ggplot(data = dados_long, aes(x = Cohort, y = Rate, color = Region, group = Region)) +
geom_line(linewidth = 1.5) +
labs(x = "Cohort", y = "Mortality per 100, women", title = "Hanging, strangulation and suffocation", color = "Region") +
scale_y_continuous(limits = c(0, 22), breaks = seq(0, 22, by = 2), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 14), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico1)
# Salvar o gráfico
ggsave("CohortEffect.png", grafico1, width = 10, height = 6, dpi = 300)
### Period
library(dplyr)
library(tidyr)
library(ggplot2)
library(viridis)
library(scales)
# Carregar os dados (supondo que 'HSSper' já esteja carregado no ambiente R)
dados1 <- HSSper
# Ver a estrutura dos dados (descomente a linha abaixo para visualizar a estrutura dos dados)
str(dados1)
# Identificar e substituir espaços em branco e possíveis caracteres problemáticos
dados1 <- dados1 %>%
mutate(across(c(North, Northeast, Southeast, South, Midwest), ~ as.numeric(gsub(",", ".", gsub("[[:space:]]", "", .)))))
# Adaptar os dados para o formato longo
dados_long1 <- dados1 %>%
pivot_longer(cols = c("North", "Northeast", "Southeast", "South", "Midwest"),
names_to = "Region",
values_to = "Rate")
# Criar o gráfico
grafico2 <- ggplot(data = dados_long1, aes(x = Period, y = Rate, color = Region, group = Region)) +
geom_line(linewidth = 1.5) +
labs(x = "Period", y = "Relative risk", title = "Hanging, strangulation and suffocation", color = "Region") +
scale_y_continuous(limits = c(0, 2.2), breaks = seq(0, 2.2, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 12), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico2)
# Salvar o gráfico
ggsave("Period effect.png", grafico1, width = 10, height = 6, dpi = 300)
#### Gráfico período autointoxiação
# Carregar os dados (supondo que 'AUTperr' já esteja carregado no ambiente R)
dados2 <- AUTper
# Ver a estrutura dos dados (descomente a linha abaixo para visualizar a estrutura dos dados)
str(dados2)
# Identificar e substituir espaços em branco e possíveis caracteres problemáticos
dados2 <- dados2 %>%
mutate(across(c(North, Northeast, Southeast, South, Midwest), ~ as.numeric(gsub(",", ".", gsub("[[:space:]]", "", .)))))
# Adaptar os dados para o formato longo
dados_long2 <- dados2 %>%
pivot_longer(cols = c("North", "Northeast", "Southeast", "South", "Midwest"),
names_to = "Region",
values_to = "Rate")
# Criar o gráfico
grafico3 <- ggplot(data = dados_long2, aes(x = Period, y = Rate, color = Region, group = Region)) +
geom_line(linewidth = 1.5) +
labs(x = "Period", y = "Relative risk", title = "Autointoxication", color = "Region") +
scale_y_continuous(limits = c(0, 2.2), breaks = seq(0, 2.2, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 12), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico3)
#### Gráfico período arma de fogo
# Carregar os dados (supondo que 'FAperr' já esteja carregado no ambiente R)
dados3 <- FAper
# Ver a estrutura dos dados (descomente a linha abaixo para visualizar a estrutura dos dados)
str(dados3)
# Identificar e substituir espaços em branco e possíveis caracteres problemáticos
dados3 <- dados3 %>%
mutate(across(c(North, Northeast, Southeast, South, Midwest), ~ as.numeric(gsub(",", ".", gsub("[[:space:]]", "", .)))))
# Adaptar os dados para o formato longo
dados_long3 <- dados3 %>%
pivot_longer(cols = c("North", "Northeast", "Southeast", "South", "Midwest"),
names_to = "Region",
values_to = "Rate")
# Criar o gráfico
grafico4 <- ggplot(data = dados_long3, aes(x = Period, y = Rate, color = Region, group = Region)) +
geom_line(linewidth = 1.5) +
labs(x = "Period", y = "Relative risk", title = "Firearm", color = "Region") +
scale_y_continuous(limits = c(0, 2.2), breaks = seq(0, 2.2, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 12), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico4)
# Salvar o gráfico
ggsave("Period effect.png", grafico1, width = 10, height = 6, dpi = 300)
# Combinar os gráficos lado a lado
plota_graficos <- ggarrange(grafico2, grafico3,grafico4,
ncol = 3, nrow = 1, common.legend = TRUE, legend = "bottom")
# Mostrar os gráficos
print(plota_graficos)
## Figure 6
# Carregar pacotes necessários – verifique se já estão instalados
library(readxl)
library(ggplot2)
library(dplyr)
library(tidyr)
library(ggpubr)
library(lubridate)
library(patchwork)
library(viridis)
library(scales)
library(viridis)
###Firearm
# Ler a planilha
dados1 <- FAco
# Ver a estrutura dos dados (descomente a linha abaixo para visualizar a estrutura dos dados)
str(dados1)
# Converter colunas de taxas para numéricas
dados <- dados1 %>%
mutate(across(c(North, Northeast, Southeast, South, Midwest), as.numeric))
# Adaptar os dados para o formato longo
dados_long1 <- dados1 %>%
pivot_longer(cols = c("North", "Northeast", "Southeast", "South", "Midwest"),
names_to = "Region",
values_to = "Rate")
# Criar o gráfico
grafico4 <- ggplot(data = dados_long1, aes(x = Cohort, y = Rate, color = Region, group = Region)) +
geom_line(linewidth = 1.5) +
labs(x = "Cohort", y = "Relative risk", title = "Firearm", color = "Region") +
scale_y_continuous(limits = c(0, 6), breaks = seq(0, 22, by = 2), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 12), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico4)
### AUT
# Ler a planilha
dados2 <- AUTco
# Ver a estrutura dos dados (descomente a linha abaixo para visualizar a estrutura dos dados)
str(dados2)
# Converter colunas de taxas para numéricas
dados1 <- dados2 %>%
mutate(across(c(North, Northeast, Southeast, South, Midwest), as.numeric))
# Adaptar os dados para o formato longo
dados_long2 <- dados2 %>%
pivot_longer(cols = c("North", "Northeast", "Southeast", "South", "Midwest"),
names_to = "Region",
values_to = "Rate")
# Criar o gráfico
grafico5 <- ggplot(data = dados_long, aes(x = Cohort, y = Rate, color = Region, group = Region)) +
geom_line(linewidth = 1.5) +
labs(x = "Cohort", y = "Relative risk", title = "Autointoxication", color = "Region") +
scale_y_continuous(limits = c(0, 6), breaks = seq(0, 6.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 12), axis.text.x = element_text(angle = 45, hjust = 1))
print(grafico5)
# Combinar os gráficos lado a lado
ggarrange(grafico1,grafico5,grafico4,
ncol = 2, nrow = 1, common.legend = TRUE, legend = "bottom")
print(plota_graficos)
#### Efeito da coorte
# Carregar pacotes necessários – verifique se já estão instalados
library(readxl)
library(ggplot2)
library(dplyr)
library(tidyr)
library(ggpubr)
library(lubridate)
library(patchwork)
library(viridis)
library(scales)
library(viridis)
# Ler a planilha
dados <- HSSco
# Ver a estrutura dos dados (descomente a linha abaixo para visualizar a estrutura dos dados)
str(dados)
# Converter colunas de taxas para numéricas
dados <- dados %>%
mutate(across(c(North, Northeast, Southeast, South, Midwest), as.numeric))
# Adaptar os dados para o formato longo
dados_long <- dados %>%
pivot_longer(cols = c("North", "Northeast", "Southeast", "South", "Midwest"),
names_to = "Region",
values_to = "Rate")
# Criar o gráfico
grafico1 <- ggplot(data = dados_long, aes(x = Cohort, y = Rate, color = Region, group = Region)) +
geom_line(linewidth = 1.5) +
labs(x = "Cohort", y = "Relative risk", title = "Hanging, strangulation and suffocation", color = "Region") +
scale_y_continuous(limits = c(0, 22), breaks = seq(0, 22, by = 2), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(plot.title = element_text(size = 14),
axis.text.x = element_text(angle = 45, hjust = 1,face=))
print(grafico1)
### Autointoxicação
# Ler a planilha
dados2 <- AUTco
# Ver a estrutura dos dados (descomente a linha abaixo para visualizar a estrutura dos dados)
str(dados2)
# Converter colunas de taxas para numéricas
dados1 <- dados2 %>%
mutate(across(c(North, Northeast, Southeast, South, Midwest), as.numeric))
# Adaptar os dados para o formato longo
dados_long2 <- dados2 %>%
pivot_longer(cols = c("North", "Northeast", "Southeast", "South", "Midwest"),
names_to = "Region",
values_to = "Rate")
# Criar o gráfico
grafico5 <- ggplot(data = dados_long2, aes(x = Cohort, y = Rate, color = Region, group = Region)) +
geom_line(linewidth = 1.5) +
labs(x = "Cohort", y = "Relative risk", title = "Autointoxication", color = "Region") +
scale_y_continuous(limits = c(0, 6), breaks = seq(0, 6.0, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(
plot.title = element_text(size = 12, face = "bold"), # Título em negrito
axis.text.x = element_text(angle = 45, hjust = 1, face = "bold"), # Texto do eixo X em negrito
axis.text.y = element_text(face = "bold"), # Texto do eixo Y em negrito
axis.title.x = element_text(face = "bold"), # Título do eixo X em negrito
axis.title.y = element_text(face = "bold") # Título do eixo Y em negrito
)
print(grafico5)
### Arma de fogo
# Ler a planilha
dados1 <- FAco
# Ver a estrutura dos dados (descomente a linha abaixo para visualizar a estrutura dos dados)
str(dados1)
# Converter colunas de taxas para numéricas
dados <- dados1 %>%
mutate(across(c(North, Northeast, Southeast, South, Midwest), as.numeric))
# Adaptar os dados para o formato longo
dados_long1 <- dados1 %>%
pivot_longer(cols = c("North", "Northeast", "Southeast", "South", "Midwest"),
names_to = "Region",
values_to = "Rate")
# Criar o gráfico
grafico4 <- ggplot(data = dados_long1, aes(x = Cohort, y = Rate, color = Region, group = Region)) +
geom_line(linewidth = 1.5) +
labs(x = "Cohort", y = "Relative risk", title = "Firearm", color = "Region") +
scale_y_continuous(limits = c(0, 6), breaks = seq(0, 6, by = 0.5), labels = number_format(accuracy = 0.1)) +
theme_minimal() +
theme(
plot.title = element_text(size = 12, face = "bold"), # Título em negrito
axis.text.x = element_text(angle = 45, hjust = 1, face = "bold"), # Texto do eixo X em negrito
axis.text.y = element_text(face = "bold"), # Texto do eixo Y em negrito
axis.title.x = element_text(face = "bold"), # Título do eixo X em negrito
axis.title.y = element_text(face = "bold") # Título do eixo Y em negrito
)
print(grafico4)
ggarrange(grafico5, grafico4,
ncol = 2, nrow = 1, common.legend = TRUE, legend = "bottom")
####Figure 6
# Instale e carregue os pacotes necessários caso ainda não estejam instalados
install.packages(c("ggplot2", "reshape2", "viridis", "ggtext"))
library(ggplot2)
library(reshape2)
library(viridis)
library(ggtext)
library(gridExtra)
# Crie o data frame com os dados fornecidos
data <- data.frame(
Period = c("1980-1984", "1985-1989", "1990-1994", "1995-1999", "2000-2004",
"2005-2009", "2010-2014", "2015-2019"),
North = c(1.200775, 1.135575, 1.073915, 1.020738, 1.000000,
1.040802, 1.146399, 1.212333),
Northeast = c(1.047448, 1.003570, 0.961530, 0.935738, 1.000000,
1.131068, 0.992282, 0.975653),
Southeast = c(1.211762, 1.162043, 1.113354, 1.060915, 1.000000,
0.964985, 1.090264, 1.359831),
South = c(1.111874, 1.146946, 1.170283, 1.118413, 1.000000,
1.007745, 1.110441, 1.232721),
Midwest = c(0.665368, 0.767871, 0.886166, 1.001718, 1.000000,
0.831263, 0.704960, 0.727092)
)
# Transforme os dados para formato longo
data_long <- melt(data, id.vars = "Period")
# Renomeie as colunas para melhor entendimento
colnames(data_long) <- c("Period", "Region", "Value")
# Personalizar os rótulos do eixo Y para deixar "2000-2004" em negrito
y_labels <- c("1980-1984", "1985-1989", "1990-1994", "1995-1999",
"2000-2004", "2005-2009", "2010-2014", "2015-2019")
# Crie o heatmap usando ggplot2 e a escala de cores viridis
heatmap <- ggplot(data_long, aes(x = Region, y = Period, fill = round(Value, 2))) +
geom_tile(color = "white") +
scale_fill_viridis(option = "viridis", name = "Relative Risk", direction = -1, labels = scales::number_format(accuracy = 0.01)) +
geom_text(aes(label = sprintf("%.2f", Value)), color = "black", size = 3) + # Adiciona os valores dentro dos quadrados com duas casas decimais
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1, face = "bold"),
axis.text.y = element_markdown(), # Permite uso de markdown nos rótulos do eixo Y
axis.title.x = element_text(face = "bold"),
axis.title.y = element_text(face = "bold"),
legend.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", hjust = 0.5) # Título centralizado e em negrito
) +
scale_y_discrete(labels = y_labels) + # Aplica os rótulos personalizados do eixo Y
labs(x = "Region", y = "Period", title = "Hanging, strangulation and suffocation")
# Exiba o heatmap
print(heatmap)
### Autointoxicação
# Instale e carregue os pacotes necessários caso ainda não estejam instalados
install.packages(c("ggplot2", "reshape2", "viridis", "ggtext"))
library(ggplot2)
library(reshape2)
library(viridis)
library(ggtext)
library(gridExtra)
# Crie o data frame com os novos dados fornecidos
data <- data.frame(
Period = c("1980-1984", "1985-1989", "1990-1994", "1995-1999", "2000-2004",
"2005-2009", "2010-2014", "2015-2019"),
North = c(0.7192597, 0.685236, 0.6715359, 0.7797337, 1.0000000,
0.7729285, 0.6610171, 0.6705621),
Northeast = c(1.183564, 0.9559083, 0.7919074, 0.7640731, 1.0000000,
1.5055440, 1.0894868, 0.7876651),
Southeast = c(1.6036014, 1.0634235, 0.8237355, 0.8299103, 1.0000000,
1.2490123, 1.3395690, 1.1077437),
South = c(2.0386762, 1.3982127, 1.0824570, 0.9695288, 1.0000000,
1.1580368, 1.4574671, 1.9142154),
Midwest = c(1.1002538, 0.8948955, 0.8194573, 0.8985865, 1.0000000,
0.9787409, 0.9570620, 0.9571144)
)
# Transforme os dados para formato longo
data_long <- melt(data, id.vars = "Period")
# Renomeie as colunas para melhor entendimento
colnames(data_long) <- c("Period", "Region", "Value")
# Personalizar os rótulos do eixo Y para deixar "2000-2004" em negrito
y_labels <- c("1980-1984", "1985-1989", "1990-1994", "1995-1999",
"2000-2004", "2005-2009", "2010-2014", "2015-2019")
# Crie o heatmap usando ggplot2 e a escala de cores viridis
heatmap1 <- ggplot(data_long, aes(x = Region, y = Period, fill = round(Value, 2))) +
geom_tile(color = "white") +
scale_fill_viridis(option = "viridis", name = "Relative Risk", direction = -1, labels = scales::number_format(accuracy = 0.01)) +
geom_text(aes(label = sprintf("%.2f", Value)), color = "black", size = 3) + # Adiciona os valores dentro dos quadrados com duas casas decimais
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1, face = "bold"),
axis.text.y = element_markdown(), # Permite uso de markdown nos rótulos do eixo Y
axis.title.x = element_text(face = "bold"),
axis.title.y = element_text(face = "bold"),
legend.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", hjust = 0.5) # Título centralizado e em negrito
) +
scale_y_discrete(labels = y_labels) + # Aplica os rótulos personalizados do eixo Y
labs(x = "Region", y = "Period", title = "Autointoxication")
# Exiba o heatmap
print(heatmap1)
##### Arma de fogo
install.packages(c("ggplot2", "reshape2", "viridis", "ggtext"))
library(ggplot2)
library(reshape2)
library(viridis)
library(ggtext)
library(gridExtra)
# Crie o data frame com os novos dados fornecidos
data <- data.frame(
Period = c("1980-1984", "1985-1989", "1990-1994", "1995-1999", "2000-2004",
"2005-2009", "2010-2014", "2015-2019"),
North = c(0.8622464, 1.1780534, 1.3574838, 1.2003077, 1.0000000,
0.9648186, 1.0329851, 1.1253206),
Northeast = c(0.7084493, 0.7949396, 1.0051354, 1.3033113, 1.0000000,
0.8287576, 0.8012140, 0.7947278),
Southeast = c(0.7560393, 0.7345041, 0.8247971, 1.0594110, 1.0000000,
0.8132131, 0.7483423, 0.7567764),
South = c(0.6881162, 0.7177084, 0.9009709, 1.2617105, 1.0000000,
0.8142756, 0.7554099, 0.7161992),
Midwest = c(0.6605641, 0.8210038, 1.1024547, 1.4047811, 1.0000000,
0.8084204, 0.7959192, 0.8097788)
)
# Transforme os dados para formato longo
data_long <- melt(data, id.vars = "Period")
# Renomeie as colunas para melhor entendimento
colnames(data_long) <- c("Period", "Region", "Value")
# Personalize os rótulos do eixo Y para deixar "2000-2004" em negrito
y_labels <- c("1980-1984", "1985-1989", "1990-1994", "1995-1999",
"2000-2004", "2005-2009", "2010-2014", "2015-2019")
# Crie o heatmap usando ggplot2 e a escala de cores viridis
heatmap2 <- ggplot(data_long, aes(x = Region, y = Period, fill = round(Value, 2))) +
geom_tile(color = "white") +
scale_fill_viridis(option = "viridis", name = "Relative Risk", direction = -1, labels = scales::number_format(accuracy = 0.01)) +
geom_text(aes(label = sprintf("%.2f", Value)), color = "black", size = 3) + # Adiciona os valores dentro dos quadrados com duas casas decimais
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1, face = "bold"),
axis.text.y = element_markdown(), # Permite uso de markdown nos rótulos do eixo Y
axis.title.x = element_text(face = "bold"),
axis.title.y = element_text(face = "bold"),
legend.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", hjust = 0.5) # Título centralizado e em negrito
) +
scale_y_discrete(labels = y_labels) + # Aplica os rótulos personalizados do eixo Y
labs(x = "Region", y = "Period", title = "Firearm")
# Exiba o heatmap
print(heatmap2)
# Exibir os heatmaps lado a lado
grid.arrange(heatmap, heatmap1, heatmap2, ncol = 3)
### Tons de amarelo e vermelho
# Instale e carregue os pacotes necessários caso ainda não estejam instalados
install.packages(c("ggplot2", "reshape2", "ggtext"))
library(ggplot2)
library(reshape2)
library(ggtext)
library(gridExtra)
# Crie o data frame com os dados fornecidos
data <- data.frame(
Period = c("1980-1984", "1985-1989", "1990-1994", "1995-1999", "2000-2004",
"2005-2009", "2010-2014", "2015-2019"),
North = c(1.200775, 1.135575, 1.073915, 1.020738, 1.000000,
1.040802, 1.146399, 1.212333),
Northeast = c(1.047448, 1.003570, 0.961530, 0.935738, 1.000000,
1.131068, 0.992282, 0.975653),
Southeast = c(1.211762, 1.162043, 1.113354, 1.060915, 1.000000,
0.964985, 1.090264, 1.359831),
South = c(1.111874, 1.146946, 1.170283, 1.118413, 1.000000,
1.007745, 1.110441, 1.232721),
Midwest = c(0.665368, 0.767871, 0.886166, 1.001718, 1.000000,
0.831263, 0.704960, 0.727092)
)
# Transforme os dados para formato longo
data_long <- melt(data, id.vars = "Period")
# Renomeie as colunas para melhor entendimento
colnames(data_long) <- c("Period", "Region", "Value")
# Personalizar os rótulos do eixo Y para deixar "2000-2004" em negrito
y_labels <- c("1980-1984", "1985-1989", "1990-1994", "1995-1999",
"2000-2004", "2005-2009", "2010-2014", "2015-2019")
# Crie o heatmap usando ggplot2 e a escala de cores gradient2
heatmap <- ggplot(data_long, aes(x = Region, y = Period, fill = round(Value, 2))) +
geom_tile(color = "white") +
scale_fill_gradient2(low = "yellow", mid = "orange", high = "red", midpoint = 1, name = "Relative Risk", labels = scales::number_format(accuracy = 0.01)) +
geom_text(aes(label = sprintf("%.2f", Value)), color = "black", size = 3) + # Adiciona os valores dentro dos quadrados com duas casas decimais
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1, face = "bold"),
axis.text.y = element_markdown(), # Permite uso de markdown nos rótulos do eixo Y
axis.title.x = element_text(face = "bold"),
axis.title.y = element_text(face = "bold"),
legend.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", hjust = 0.5) # Título centralizado e em negrito
) +
scale_y_discrete(labels = y_labels) + # Aplica os rótulos personalizados do eixo Y
labs(x = "Region", y = "Period", title = "Hanging, strangulation and suffocation")
# Exiba o heatmap
print(heatmap)
# Crie o data frame com os novos dados fornecidos
data <- data.frame(
Period = c("1980-1984", "1985-1989", "1990-1994", "1995-1999", "2000-2004",
"2005-2009", "2010-2014", "2015-2019"),
North = c(0.7192597, 0.685236, 0.6715359, 0.7797337, 1.0000000,
0.7729285, 0.6610171, 0.6705621),
Northeast = c(1.183564, 0.9559083, 0.7919074, 0.7640731, 1.0000000,
1.5055440, 1.0894868, 0.7876651),
Southeast = c(1.6036014, 1.0634235, 0.8237355, 0.8299103, 1.0000000,
1.2490123, 1.3395690, 1.1077437),
South = c(2.0386762, 1.3982127, 1.0824570, 0.9695288, 1.0000000,
1.1580368, 1.4574671, 1.9142154),
Midwest = c(1.1002538, 0.8948955, 0.8194573, 0.8985865, 1.0000000,
0.9787409, 0.9570620, 0.9571144)
)
# Transforme os dados para formato longo
data_long <- melt(data, id.vars = "Period")
# Renomeie as colunas para melhor entendimento
colnames(data_long) <- c("Period", "Region", "Value")
# Personalizar os rótulos do eixo Y para deixar "2000-2004" em negrito
y_labels <- c("1980-1984", "1985-1989", "1990-1994", "1995-1999",
"2000-2004", "2005-2009", "2010-2014", "2015-2019")
# Crie o heatmap usando ggplot2 e a escala de cores gradient2
heatmap1 <- ggplot(data_long, aes(x = Region, y = Period, fill = round(Value, 2))) +
geom_tile(color = "white") +
scale_fill_gradient2(low = "yellow", mid = "orange", high = "red", midpoint = 1, name = "Relative Risk", labels = scales::number_format(accuracy = 0.01)) +
geom_text(aes(label = sprintf("%.2f", Value)), color = "black", size = 3) + # Adiciona os valores dentro dos quadrados com duas casas decimais
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1, face = "bold"),
axis.text.y = element_markdown(), # Permite uso de markdown nos rótulos do eixo Y
axis.title.x = element_text(face = "bold"),
axis.title.y = element_text(face = "bold"),
legend.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", hjust = 0.5) # Título centralizado e em negrito
) +
scale_y_discrete(labels = y_labels) + # Aplica os rótulos personalizados do eixo Y
labs(x = "Region", y = "Period", title = "Autointoxication")
# Exiba o heatmap
print(heatmap1)
# Crie o data frame com os novos dados fornecidos
data <- data.frame(
Period = c("1980-1984", "1985-1989", "1990-1994", "1995-1999", "2000-2004",
"2005-2009", "2010-2014", "2015-2019"),
North = c(0.8622464, 1.1780534, 1.3574838, 1.2003077, 1.0000000,
0.9648186, 1.0329851, 1.1253206),
Northeast = c(0.7084493, 0.7949396, 1.0051354, 1.3033113, 1.0000000,
0.8287576, 0.8012140, 0.7947278),
Southeast = c(0.7560393, 0.7345041, 0.8247971, 1.0594110, 1.0000000,
0.8132131, 0.7483423, 0.7567764),
South = c(0.6881162, 0.7177084, 0.9009709, 1.2617105, 1.0000000,
0.8142756, 0.7554099, 0.7161992),
Midwest = c(0.6605641, 0.8210038, 1.1024547, 1.4047811, 1.0000000,
0.8084204, 0.7959192, 0.8097788)
)
# Transforme os dados para formato longo
data_long <- melt(data, id.vars = "Period")
# Renomeie as colunas para melhor entendimento
colnames(data_long) <- c("Period", "Region", "Value")
# Personalize os rótulos do eixo Y para deixar "2000-2004" em negrito
y_labels <- c("1980-1984", "1985-1989", "1990-1994", "1995-1999",
"2000-2004", "2005-2009", "2010-2014", "2015-2019")
# Crie o heatmap usando ggplot2 e a escala de cores gradient2
heatmap2 <- ggplot(data_long, aes(x = Region, y = Period, fill = round(Value, 2))) +
geom_tile(color = "white") +
scale_fill_gradient2(low = "yellow", mid = "orange", high = "red", midpoint = 1, name = "Relative Risk", labels = scales::number_format(accuracy = 0.01)) +
geom_text(aes(label = sprintf("%.2f", Value)), color = "black", size = 3) + # Adiciona os valores dentro dos quadrados com duas casas decimais
theme_minimal() +
theme(
axis.text.x = element_text(angle = 45, hjust = 1, face = "bold"),
axis.text.y = element_markdown(), # Permite uso de markdown nos rótulos do eixo Y
axis.title.x = element_text(face = "bold"),
axis.title.y = element_text(face = "bold"),
legend.title = element_text(face = "bold"),
plot.title = element_text(face = "bold", hjust = 0.5) # Título centralizado e em negrito
) +
scale_y_discrete(labels = y_labels) + # Aplica os rótulos personalizados do eixo Y
labs(x = "Region", y = "Period", title = "Firearm")
# Exiba o heatmap
print(heatmap2)
# Exibir os heatmaps lado a lado
grid.arrange(heatmap, heatmap1, heatmap2, ncol = 3)
### Figure 8