#cambia la cartella di lavoro
setwd("C://Users//Utente//Desktop")

#carica i dati dal csv
data<-read.csv("Sostanza.csv",header=T,sep=";")



# esegue il t test
X<-data[,1]
Y<-data[,2]

data0<-subset(data,Y=="0")
data1<-subset(data,Y=="1")

data0_sup<-subset(data0,data0[,1]>=median(data0[,1]))
data1_sup<-subset(data1,data1[,1]>=median(data1[,1]))

data_sup<-rbind(data0_sup,data1_sup)

t.test(data_sup[,1]~data_sup[,2],var.equal=F)


# carica il package mgcv
library(mgcv)

# chiama l'help per il package
? mgcv

# scelgo un livello di effetto e creo una variabile numerica p che lo contiene
p <- 0.95

mod<-gam(Y~s(X,k=5),family=binomial(link = "logit"),data=data) ###Formulazione del modello GAM
pred<-predict(mod,type="response",se=T) ###Stimare i valori di p in corrispondenza dei valori osservati del contaminante

seq<-runif(10000,0,max(X)) ###Generare una variabile aleatoria uniforme nell'intervallo [0,max(X)]
newd<-data.frame(X=seq)

pred2<-predict(mod,newd,type="response") ###Stimare i valori di p per ogni valore della variabile uniforme

plot(seq,pred2,xlab="X (contaminante)",ylab="p (probabilità di tossicità)",cex=0.2)
abline(p,0,col="red")

X_tossici<-seq[pred2>p]  ###Tutti i valori di X con probabilità  di tossicità  >p
LE<-min(X_tossici) ### Stima del Livello di Effetto
LE ###Valore del Livello di Effetto

