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ę
[R] szukanie maksymalnej wartości dla określonego poziomu
[R] szukanie maksymalnej wartości dla określonego poziomu
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.
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.
[R] szukanie maksymalnej wartości dla określonego poziomu
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.
[R] szukanie maksymalnej wartości dla określonego poziomu
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ć
[R] szukanie maksymalnej wartości dla określonego poziomu
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... ;(
# 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... ;(
[R] szukanie maksymalnej wartości dla określonego poziomu
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.
Napisz do mnie na gadu to odpłatnie za Ciebie to zrobię. Tutaj jedynie mogę podpowiadaćNie mam już cierpliwości do tego... ;(