diff --git a/Testes_R/teste_ad.r b/Testes_R/teste_ad.r
new file mode 100644
index 0000000000000000000000000000000000000000..c34575fd1daea209318fb2d56a725ff61265f6a9
--- /dev/null
+++ b/Testes_R/teste_ad.r
@@ -0,0 +1,136 @@
+#!/usr/bin/env Rscript
+
+# Function to remove outliers using the IQR method
+remove_outliers <- function(data) {
+  # Calculate the interquartile range (IQR)
+  Q1 <- quantile(data, 0.25)
+  Q3 <- quantile(data, 0.75)
+  IQR <- Q3 - Q1
+  
+  # Define the lower and upper bounds
+  lower_bound <- Q1 - 1.5 * IQR
+  upper_bound <- Q3 + 1.5 * IQR
+  
+  # Remove outliers
+  cleaned_data <- data[data >= lower_bound & data <= upper_bound]
+  
+  # Return the cleaned data
+  return(cleaned_data)
+}
+
+# MAIN ==========================================
+
+# Carrega CSV
+options(warn = -1)
+library(kSamples)
+df = read.csv("../dados/escola_integers.csv", sep="|")
+#head(df)
+
+# Colunas do csv de saida
+colunas = c("coluna1", "ano_coluna1", "coluna2", "ano_coluna2", "tamanho_amostra", "estatistica_ad", "p_valor")
+output_df = data.frame(matrix(ncol = length(colunas), nrow = 0))
+
+# Remove ANO_CENSO das iteracoes
+atributos = names(df)
+atributos = atributos[atributos != "ANO_CENSO"]
+
+# Separa os anos em amostras
+ANO <- df["ANO_CENSO"]
+
+for(ano in sort(unique(df$ANO_CENSO))){
+    for(col1 in atributos) {
+        for(col2 in atributos) {
+
+            # Amostra de um ano
+            X <- df[col1]
+            data1 <- X[ANO == ano]
+
+            # Amostra do ano seguinte
+            Y <- df[col2]
+            data2 <- Y[ANO == ano+1]
+
+            # Remove zeros
+            data1 <- data1[data1 != 0]
+            data2 <- data2[data2 != 0]
+            
+            # Remove NaN, outliers e ordena
+            data1 <- remove_outliers(na.omit(data1))
+            data2 <- remove_outliers(na.omit(data2))
+
+            # Pula casos em que não há dados nas amostras
+            if(length(data1) == 0 || length(data2) == 0){
+                next
+            }
+ 
+            # Teste AD
+            resultado = ad.test(list(data1, data2))
+
+            estatistica = (resultado$ad[1, 1] + resultado$ad[2, 1])/2
+            p_valor = (resultado$ad[1, 3] + resultado$ad[2, 3])/2
+
+            # Concatena resultados no dataframe
+            nova_linha = c(col1, ano, col2, ano+1, length(data1), estatistica, p_valor)
+            output_df = rbind(output_df, nova_linha)
+        }
+    }
+}
+output_csv = "../R_resultados/Sem_histograma/AD_subsequente.csv"
+colnames(output_df) <- colunas
+write.csv(output_df, file = output_csv, row.names = FALSE)
+
+# ACUMULADO =====================================
+
+# Colunas do csv de saida
+colunas = c("coluna1", "ano_coluna1", "coluna2", "ano_coluna2", "tamanho_amostra", "estatistica_ad", "p_valor")
+output_df = data.frame(matrix(ncol = length(colunas), nrow = 0))
+ano_start = min(df$ANO_CENSO)
+
+# Remove ANO_CENSO das iteracoes
+atributos = names(df)
+atributos = atributos[atributos != "ANO_CENSO"]
+
+# Separa os anos em amostras
+ANO_COLUMN <- df["ANO_CENSO"]
+
+for(ano in sort(unique(df$ANO_CENSO))){
+    for(col1 in atributos) {
+        for(col2 in atributos) {
+
+            # Amostra acumulada dos anos
+            X <- df[col1]
+            data1 <- X[ANO_COLUMN >= ano_start & ANO_COLUMN <= ano]
+
+            # Amostra do ano seguinte
+            Y <- df[col2]
+            data2 <- Y[ANO_COLUMN == ano+1]
+
+            # Remove zeros
+            data1 <- data1[data1 != 0]
+            data2 <- data2[data2 != 0]
+            
+            # Remove NaN, outliers e ordena
+            data1 <- remove_outliers(na.omit(data1))
+            data2 <- remove_outliers(na.omit(data2))
+            
+            # Pula casos em que não há dados nas amostras
+            if(length(data1) == 0 || length(data2) == 0){
+                next
+            }
+
+            # Teste AD
+            resultado = ad.test(list(data1, data2))
+
+            estatistica = (resultado$ad[1, 1] + resultado$ad[2, 1])/2
+            p_valor = (resultado$ad[1, 3] + resultado$ad[2, 3])/2
+
+            # Concatena resultados no dataframe
+            nova_linha = c(col1, ano, col2, ano+1, length(data1), estatistica, p_valor)
+            output_df = rbind(output_df, nova_linha)
+        }
+    }
+}
+output_csv = "../R_resultados/Sem_histograma/AD_acumulado.csv"
+colnames(output_df) <- colunas
+write.csv(output_df, file = output_csv, row.names = FALSE)
+
+