[R] szukanie maksymalnej wartości dla określonego poziomu

dw3574
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 20 maja 2012, o 12:13
Płeć: Kobieta
Lokalizacja: Wrocław

[R] szukanie maksymalnej wartości dla określonego poziomu

Post autor: dw3574 »

Witam,
borykam się z następującym problemem.
Poprzez symulacje w R wygerenowałam 20.000 punktów. Zaokrąglam te liczby do 2 miejsc po przecinku. Daje mi to macierz, gdzie powtarzają się wartości y i argumenty x. Teraz dla określonego argumentu x chce wybrać maksymalną wartość y. Ostatecznie potrzebuje macierz z tych punktów, które są najlepsze.
Przykład. W macierzy mam punkty:
1. 1.03 0.03
2. 1.04 0.05
3. 1.04 -0.2
4. 1.04 0.01
5. 1.05 0.04
Chce otrzymać:
1. 1.03 0.03
2. 1.04 0.05
3. 1.05 0.04

Proszę o pomoc, męczę się z tym już kilka dni. Jest mi to potrzebne do pracy mgr, a terminy gonią. Nie uczyłam się eRa wcześniej, tylko teraz przyszło mi pracować z tym programem...
Z góry dziękuję
miodzio1988

[R] szukanie maksymalnej wartości dla określonego poziomu

Post autor: miodzio1988 »

Ale chodzi Ci to, że składni nie znasz czy nie wiesz jaki algorytm powinien być?

Wiadomo, jedziemy po \(\displaystyle{ x}\). Jeśli się kolejne nie powtarzają to przepisujemy je razem z wartością \(\displaystyle{ y}\) do następnej macierzy. Jeśli się powtarzają to patrzymy ile ich jest i które to są (jak?) i wtedy już po tych numerach bierzemy maksimum. Jak już to mamy to dane numery przepisujemy do kolejnej macierzy.

Nic trudnego jak się składnie zna R.
dw3574
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 20 maja 2012, o 12:13
Płeć: Kobieta
Lokalizacja: Wrocław

[R] szukanie maksymalnej wartości dla określonego poziomu

Post autor: dw3574 »

Nie umiem tego zapisać jako algorytmu. Nie znam tego programu jakoś szczególnie, spotkałam się z tym stosunkowo niedawno i probowałam coś skleić ale bezskutecznie. Może sam zamysł nie jest jakiś skomplikowany, ale żeby to zapisać to już większy problem.
miodzio1988

[R] szukanie maksymalnej wartości dla określonego poziomu

Post autor: miodzio1988 »

Pętle i warunkowanie jest Ci tylko potrzebne, więc zobacz jak to w R działa. Żeby Ci się łatwiej odwoływało do macierzy zamień sobie macierz na dwa wektory. Wtedy po jednej współrzędnej możesz jechać
dw3574
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 20 maja 2012, o 12:13
Płeć: Kobieta
Lokalizacja: Wrocław

[R] szukanie maksymalnej wartości dla określonego poziomu

Post autor: dw3574 »

Nie umiem wymyśleć nic poza tym:

# e to macierz z tymi danymi
k<-c(lenght=20000)
l<-c(lenght=20000)
k=e[,1];
l=e[,2];
m<-c(lenght=2)
for( i in 1:20000)
{ if( k=k[i+1] )
{ l= max(l, l[i+1])
m=(k,l) } else {m= (k,l)}
}
m

Ale to nie jest poprawnie zapisane. Nie wiem jak zapisać żeby w przypadku większej ilości powtarzających się liczb on brał pod uwagę wszystkie wartości.
Nie mam już cierpliwości do tego... ;(
miodzio1988

[R] szukanie maksymalnej wartości dla określonego poziomu

Post autor: miodzio1988 »

Z dwóch pętli możesz skorzystać albo wypisać warunki dla \(\displaystyle{ i+2,i+3}\) itd. Druga opcja oczywiście się sprawdza jeśli wiesz, że dane się nie powtarzają więcej niż kilka razy. Opcja pierwsza jest bezpieczniejsza.
Nie mam już cierpliwości do tego... ;(
Napisz do mnie na gadu to odpłatnie za Ciebie to zrobię. Tutaj jedynie mogę podpowiadać
dw3574
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 20 maja 2012, o 12:13
Płeć: Kobieta
Lokalizacja: Wrocław

[R] szukanie maksymalnej wartości dla określonego poziomu

Post autor: dw3574 »

Czy jest tu ktoś jeszcze kto umie pomóc??
ODPOWIEDZ