![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 19.03.2007 Skąd: Dąbrowa Górnicza, Kraków Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuje napisac dwa skrypty ktore beda liczyly mode (wyraz ktory najczesciej wystepuje) i mediane ( ten co jest w samym srodku) i nie wiem jak to napisac. Pomoże ktos?
-------------------- Mój blog: kafaro.pl
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 148 Pomógł: 0 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
prosze ale i tak znajac zycie zaraz wypadnie jakis masta i pokaze jak to zrobic krócej ![]() Ten post edytował strife 17.04.2007, 17:53:36 -------------------- Pozdrawiam
kriqs mam nadzieje ze pomoglem :) |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Mediana: liczysz ilosc elementow w tablicy i bierzesz
*srodkowy elelment gdy ilosc jest nieparzyysta * srednia z dwoch srodkowych, gdy ilosc jest parzysta Moda: http://pl.php.net/manual/en/function.array-count-values.php + MAX z tablicy -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 675 Pomógł: 15 Dołączył: 7.11.2004 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Mediana: liczysz ilosc elementow w tablicy i bierzesz *srodkowy elelment gdy ilosc jest nieparzyysta * srednia z dwoch srodkowych, gdy ilosc jest parzysta Niby wszystko ok, ale najważniejszą sprawą dotyczącą mediany, jest to, że jest to wartość środkowa w uporządkowanym zbiorze danych. Więc najpierw należałoby tablicę posortować. -------------------- Kto pyta, nie błądzi...
Kto zbłądził, ten pyta... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 19.03.2007 Skąd: Dąbrowa Górnicza, Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dobrze ale jak pozniej wziac ten srodkowy wyraz z tej medianay ewentualnie srednia dwoch srodkowych?
-------------------- Mój blog: kafaro.pl
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat Niby wszystko ok, ale najważniejszą sprawą dotyczącą mediany, jest to, że jest to wartość środkowa w uporządkowanym zbiorze danych. Więc najpierw należałoby tablicę posortować. No tak, o tym zapomnialem ![]() Cytat Dobrze ale jak pozniej wziac ten srodkowy wyraz z tej medianay ewentualnie srednia dwoch srodkowych? MAatkooo. Ustaw sobie 9 szklanek, podziel 9/2 zaokraglij w gore i otrzymasz N, i odlicz od lewej Nta szklanke i to bedzie srodkowa. -------------------- Nie lubię jednorożców.
|
|
|
![]() ![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 16.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
prosze ale i tak znajac zycie zaraz wypadnie jakis masta i pokaze jak to zrobic krócej ![]() ------------------------------------------------------ A jak to przerobić, żeby liczyło medianę dla tabeli T w kolumnie X? Chodzi mi o polecenie dla MySQL. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 7.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
prosze ale i tak znajac zycie zaraz wypadnie jakis masta i pokaze jak to zrobic krócej ![]() wszystko ładnie ale u mnie na początku wyświetlania danych pojawia się: array(1) { [" DANE "]=> int(1) } jak usunąć te wszystkie znaczniki? oraz 2 pytanie jak to przerobić, żeby liczyło medianę dla tabeli T w kolumnie X? z pliku xls? |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
1. Znaki przestankowe zakłamują wyniki. Musisz je NA SAMYM POCZĄTKU usunąć z tekstu.
2. Konwertujesz tekst na tablicę. 3. Usuwasz duplikaty z tej tablicy. 4. Zliczasz w tekście pełnym wystąpienia tworząc tablicę, gdzie kluczem są wyrazy a wartością liczba wystąpień. 5. Sortujesz ![]() 6. Zliczasz ilość elementów b sprawdzić medianę, element o najwyższej ilości to moda. Funkcji sam sobie poszukaj ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 16 Dołączył: 4.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
dlaczego mialby usuwac duplikaty ?
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Bo w ten sposób stworzy listę UNIKALNYCH słów w tekście całym. Najlepiej jeszcze wcześniej potraktować je funkcja konwerstującą wszystkie do lowercase by "jakoś" było uznane za to samo co "Jakoś".
A więc lecąc od początku. Przyjmując za $text całość tekstu: 1) preg_replace wszystkich znaków interpunkcyjnych na pusty w $text i dla pewności zamiana wszelkich wielokrotnych spacji na pojedynczą też wyrażeniem regularnym, a już dla kompletności trim i strtolower. 2) explode $text do tablicy $array_text po spacji 3) $unique jako wynik array_unique na $array_text 4) ten krok można rozwiązać na kilka sposobów bo algorytmów zliczania na tę chwile już kilka wymyśliłem, ale podam tu dwa ver. 1) array_keys na "oczyszczonym" $text z punktu 1) używając każdego elementu z $unique a potem count() na owym wyniku i wpis do tablicy ver. 2) posortowanie $array_text i tak posortowana zmienna już łatwo może posłużyć do liczenia. Jeden przebieg w pętli foreach z if dodającym 1 do aktualnego słowa lub zamieniającym na nowe z licznikiem równym 1 Tak czy inaczej ważne by tworzyć tablicę par "słowo" => ilość_wystąpień 5) Posortowanie tablicy według wartości. 6) Tego chyba nie muszę już tłumaczyć? I niech mi ktoś jeszcze napisze, że tego nie rozumie bo chyba ugryzę ![]() ![]() Do odczytu xls trzeba napisać albo własny parser albo szukać gotowców (http://sourceforge.net/projects/phpexcelreader/, http://www.tutorials.pl/2009/02/php-excel-...der-generator/). Więcej chyba już nie powinno Ci być potrzebne do napisania. Ten post edytował thek 16.01.2010, 18:59:24 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 7.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
zmodyfikowałem ten kod na taki który mi bardziej odpowiada
wszystko sie ladnie w tabeli miesci ale nie wiem jak mam policzyc ta mediane nie mam zadnego pomyslu nierozumiem wogole kolego Twojego pkt 4 w w/w moim pliku zamieszczane sa odpowiedzi z formularza które sa przesyłane POST a zapisywanie odpowiedzi są jako o1, o2, o3 itd.. do o20i są one ładowane do pliku, który zostaje potem wyswietlony w w/w kodzie nastepnie musi być liczona median kolumnami i próbuję już chyba z 18 godzinę dziś ale mi nic kompletnie nie wychodzi |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
No to pomyśl... Tak naprawdę Twoje wnętrze pliku to macierz jeśli dobrze zrozumiałem. Czyli masz postać
w1,1 w1,2 w1,3 w1,4 w2,1 w2,2 w2,3 w2,4 w3,1 w3,2 w3,3 w3,4 A więc co za problem przy liczeniu mediany dla kolumny zrobić sobie tablice kolumn? k1 = array( w1,1 w2,1 w3,1 ) k2 = array( w1,2 w2,2 w3,2 ) i tak dalej... To po prostu stworzenie $j tablic, które uzupełniasz o elementy z kolejnych $i wierszy. Potem tylko liczenie mediany i mody w tych tablicach. Wytłumaczę Ci punkt 4 na podstawie 1 przykładu. Bierzemy tablicę wyrazów z całego tekstu. Tu muszę się palnąć w dekiel, bo miałem napisać $array_text z punktu drugiego ![]() 'słowo' => wystąpień w tablicy wynikowej. To cała idea punktu 4) Ten post edytował thek 19.01.2010, 23:42:33 -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 7.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
zrobilem cos takiego ale jakoś nie chce działać może mi ktoś pomóc sprawdzić ten kod?
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 9.07.2025 - 04:24 |