Eu sunt, folosind R limbaj de programare. Presupunem că avem următoarele date:
set.seed(123)
a = rnorm(100000,10,10)
b = rnorm(100000,10,10)
my_data = data.frame(a,b)
plot(my_data$a, my_data$b)
Când te uiți la aceste date:
head(my_data)
a b
1 4.395244 12.649934
2 7.698225 28.307475
3 25.587083 9.406217
4 10.705084 9.467906
5 11.292877 14.379042
6 27.150650 23.374490
Întrebarea mea este: există o modalitate de a afla dacă acest set de date conține un punct astfel încât
- toate valorile de "o" sunt mai mici decât a-și coordona de la acest punct ȘI
- toate valorile de "b" sunt mai mici decât b-coordonatele acestui punct
Există un astfel de mod de a afla dacă acest set de date conține un nivel global "punctul maxim"?
De exemplu, ca punct rosu de mai sus. Știu că în cele mai multe cazuri, este puțin probabil pentru a găsi un astfel de moment, văzând că punctul cu cea mai mare o-coordonarea nu va avea neapărat cel mai mare b-coordonează și vice-versa:
#row with max value of "a"
which(my_data == max(my_data$a), arr.ind=TRUE)
row col
[1,] 23102 1
#row with max value of "b"
which(my_data == max(my_data$b), arr.ind=TRUE)
row col
[1,] 2071 2
#display row with max value of "a"
> my_data[23102,]
a b
23102 53.22815 4.500006
#display row with max value of "b"
> my_data[2071,]
a b
2071 15.85992 52.0609
După cum putem vedea, de rând cu max valoare de "o" nu conține max valoarea "b".
Multumesc!!!
Notă: În lumea reală, este de multe ori imposibil de a găsi "global maxim de puncte", ca într-o mare de date de puncte de "suprapunere" (diferite rânduri conțin maxime de diferite coloane). În contextul problemelor de optimizare, mai multe puncte puteți întâlni adesea acest criteriile și sunt considerate adecvate - aceste puncte sunt numite "non-dominat" și a spus să fie situat pe "Frontiera Pareto" (linia verde):