pumg = function(il1,il3) { n1 = rnorm(5000) n3 = -0.2425 * n1 + 0.9701 * rnorm(5000) xgreen = 29.0005 + 2.8708 * n1 ygreen = 22.2332 + 2.3690 * n3 u1 = runif(5000, 10, 40) u2 = runif(5000) u3 = (40 - 29 + 24 / u1) * u2 + 29 - 24/ u1 plot(NA, xlim = c(10,40), ylim = c(10,40), xlab = "LDH 1", ylab = "LDH 3", main = "simulated probability") points(u1,u3, col = "coral3") points(xgreen, ygreen, col = "chartreuse4") points(il1,il3, col = "dodgerblue4", pch = 23, lwd = 8) giudizio = factor(c(rep("green", 5000), rep("red", 5000))) xpumg = c(xgreen, u1) ypumg = c(ygreen, u3) distanza = sqrt( (xpumg-il1)^2 + (ypumg-il3)^2 ) raggio = quantile(distanza, 0.1) vicini = which(distanza < raggio) hwmngreen = table(giudizio[vicini])[[1]] hwmnred = table(giudizio[vicini])[[2]] hwmn = hwmngreen + hwmnred pumggreen = hwmngreen / hwmn pumgred = hwmnred / hwmn messumg = paste("umg risk index =", round(il3 + 24/il1, 1)) messgreen = paste("probability green ", 5 * trunc(0.5 + (100 * pumggreen)/5), "%", sep = "") messgred = paste("probability red ",5 * trunc(0.5 + (100 * pumgred)/5), "%", sep = "") print(messumg) print(messgreen) print(messgred) } # memo: pumg(ldh1, ldh3)